[INFO] fetching crate hematite_server 0.0.4...
[INFO] checking hematite_server-0.0.4 against beta-2021-10-15 for beta-1.56-3
[INFO] extracting crate hematite_server 0.0.4 into /workspace/builds/worker-10/source
[INFO] validating manifest of crates.io crate hematite_server 0.0.4 on toolchain beta-2021-10-15
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate hematite_server 0.0.4
[INFO] finished tweaking crates.io crate hematite_server 0.0.4
[INFO] tweaked toml for crates.io crate hematite_server 0.0.4 written to /workspace/builds/worker-10/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 018cc97c53b5da0b9a69e3b8814a55a9c7d6f32adbc8c4e7d8d6b4b1464ef5df
[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" "018cc97c53b5da0b9a69e3b8814a55a9c7d6f32adbc8c4e7d8d6b4b1464ef5df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "018cc97c53b5da0b9a69e3b8814a55a9c7d6f32adbc8c4e7d8d6b4b1464ef5df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "018cc97c53b5da0b9a69e3b8814a55a9c7d6f32adbc8c4e7d8d6b4b1464ef5df", kill_on_drop: false }`
[INFO] [stdout] 018cc97c53b5da0b9a69e3b8814a55a9c7d6f32adbc8c4e7d8d6b4b1464ef5df
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1c0bc24a719af6992687924ba20f9f850d6931c96f9ee55a82eb51d0f4b6bb09
[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" "1c0bc24a719af6992687924ba20f9f850d6931c96f9ee55a82eb51d0f4b6bb09", kill_on_drop: false }`
[INFO] [stderr]     Checking uuid v0.1.18
[INFO] [stderr]     Checking hematite-nbt v0.3.0
[INFO] [stderr]     Checking hematite_server v0.0.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/packet.rs:15:52
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn proto_encode(value: &Self::Clean, dst: &mut Write) -> io::Result<()>;
[INFO] [stdout]    |                                                    ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/packet.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn proto_decode(src: &mut Read) -> io::Result<Self::Clean>;
[INFO] [stdout]    |                               ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/packet.rs:22:38
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn inner_encode(&self, dst: &mut Write) -> io::Result<()>;
[INFO] [stdout]    |                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/packet.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         try!(<Var<i32> as Protocol>::proto_encode(&(len as i32), dst));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/packet.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn write(&self, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]    |                               ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/packet.rs:36:31
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn inner_decode(src: &mut Read) -> io::Result<Self>;
[INFO] [stdout]    |                               ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/packet.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let proto_len = try!(<Var<i32> as Protocol>::proto_decode(src));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 try!(dst.$enc_name(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 | impl_protocol!(i8,  1, write_i8,  read_i8);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:114:54
[INFO] [stdout]     |
[INFO] [stdout] 114 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 205 | impl_protocol!(i8,  1, write_i8,  read_i8);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:119:39
[INFO] [stdout]     |
[INFO] [stdout] 119 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 205 | impl_protocol!(i8,  1, write_i8,  read_i8);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 try!(dst.$enc_name(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 | impl_protocol!(u8,  1, write_u8,  read_u8);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:114:54
[INFO] [stdout]     |
[INFO] [stdout] 114 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 206 | impl_protocol!(u8,  1, write_u8,  read_u8);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:119:39
[INFO] [stdout]     |
[INFO] [stdout] 119 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 206 | impl_protocol!(u8,  1, write_u8,  read_u8);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 | impl_protocol!(i16, 2, write_i16, read_i16);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 207 | impl_protocol!(i16, 2, write_i16, read_i16);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 207 | impl_protocol!(i16, 2, write_i16, read_i16);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 | impl_protocol!(u16, 2, write_u16, read_u16);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 208 | impl_protocol!(u16, 2, write_u16, read_u16);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 208 | impl_protocol!(u16, 2, write_u16, read_u16);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 | impl_protocol!(i32, 4, write_i32, read_i32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 209 | impl_protocol!(i32, 4, write_i32, read_i32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 209 | impl_protocol!(i32, 4, write_i32, read_i32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 | impl_protocol!(u32, 4, write_u32, read_u32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 210 | impl_protocol!(u32, 4, write_u32, read_u32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 210 | impl_protocol!(u32, 4, write_u32, read_u32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 | impl_protocol!(i64, 8, write_i64, read_i64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 211 | impl_protocol!(i64, 8, write_i64, read_i64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 211 | impl_protocol!(i64, 8, write_i64, read_i64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 | impl_protocol!(u64, 8, write_u64, read_u64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 212 | impl_protocol!(u64, 8, write_u64, read_u64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 212 | impl_protocol!(u64, 8, write_u64, read_u64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | impl_protocol!(f32, 4, write_f32, read_f32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 213 | impl_protocol!(f32, 4, write_f32, read_f32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 213 | impl_protocol!(f32, 4, write_f32, read_f32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 | impl_protocol!(f64, 8, write_f64, read_f64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 214 | impl_protocol!(f64, 8, write_f64, read_f64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 214 | impl_protocol!(f64, 8, write_f64, read_f64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |         try!(dst.write_u8(if *value { 1 } else { 0 }));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:221:45
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn proto_encode(value: &bool, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                             ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:226:31
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn proto_decode(src: &mut Read) -> io::Result<bool> {
[INFO] [stdout]     |                               ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:227:21
[INFO] [stdout]     |
[INFO] [stdout] 227 |         let value = try!(src.read_u8());
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:247:57
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn proto_encode(value: &Option<T::Clean>, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                         ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:250:17
[INFO] [stdout]     |
[INFO] [stdout] 250 |                 try!(<bool as Protocol>::proto_encode(&true, dst));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:251:17
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 try!(<T as Protocol>::proto_encode(inner, dst));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:254:17
[INFO] [stdout]     |
[INFO] [stdout] 254 |                 try!(<bool as Protocol>::proto_encode(&false, dst));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:260:31
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn proto_decode(src: &mut Read) -> io::Result<Option<T::Clean>> {
[INFO] [stdout]     |                               ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 261 |         if try!(<bool as Protocol>::proto_decode(src)) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |             Ok(Some(try!(<T as Protocol>::proto_decode(src))))
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:277:45
[INFO] [stdout]     |
[INFO] [stdout] 277 |     fn proto_encode(value: &Self, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                             ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:285:31
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn proto_decode(src: &mut Read) -> io::Result<Self> {
[INFO] [stdout]     |                               ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:286:15
[INFO] [stdout]     |
[INFO] [stdout] 286 |         match try!(<Var<i32> as Protocol>::proto_decode(src)) {
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/packet.rs:15:52
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn proto_encode(value: &Self::Clean, dst: &mut Write) -> io::Result<()>;
[INFO] [stdout]    |                                                    ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:38
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![cfg_attr(test, deny(missing_docs, warnings))]
[INFO] [stdout]    |                                      ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/packet.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn proto_decode(src: &mut Read) -> io::Result<Self::Clean>;
[INFO] [stdout]    |                               ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/packet.rs:22:38
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn inner_encode(&self, dst: &mut Write) -> io::Result<()>;
[INFO] [stdout]    |                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/packet.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         try!(<Var<i32> as Protocol>::proto_encode(&(len as i32), dst));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:1:38
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![cfg_attr(test, deny(missing_docs, warnings))]
[INFO] [stdout]    |                                      ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/packet.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn write(&self, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]    |                               ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/packet.rs:36:31
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn inner_decode(src: &mut Read) -> io::Result<Self>;
[INFO] [stdout]    |                               ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/packet.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let proto_len = try!(<Var<i32> as Protocol>::proto_decode(src));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 try!(dst.$enc_name(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 | impl_protocol!(i8,  1, write_i8,  read_i8);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:114:54
[INFO] [stdout]     |
[INFO] [stdout] 114 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 205 | impl_protocol!(i8,  1, write_i8,  read_i8);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:119:39
[INFO] [stdout]     |
[INFO] [stdout] 119 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 205 | impl_protocol!(i8,  1, write_i8,  read_i8);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 try!(dst.$enc_name(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 | impl_protocol!(u8,  1, write_u8,  read_u8);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:114:54
[INFO] [stdout]     |
[INFO] [stdout] 114 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 206 | impl_protocol!(u8,  1, write_u8,  read_u8);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:119:39
[INFO] [stdout]     |
[INFO] [stdout] 119 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 206 | impl_protocol!(u8,  1, write_u8,  read_u8);
[INFO] [stdout]     | ------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 | impl_protocol!(i16, 2, write_i16, read_i16);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 207 | impl_protocol!(i16, 2, write_i16, read_i16);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 207 | impl_protocol!(i16, 2, write_i16, read_i16);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 | impl_protocol!(u16, 2, write_u16, read_u16);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 208 | impl_protocol!(u16, 2, write_u16, read_u16);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 208 | impl_protocol!(u16, 2, write_u16, read_u16);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 | impl_protocol!(i32, 4, write_i32, read_i32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 209 | impl_protocol!(i32, 4, write_i32, read_i32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 209 | impl_protocol!(i32, 4, write_i32, read_i32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 | impl_protocol!(u32, 4, write_u32, read_u32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 210 | impl_protocol!(u32, 4, write_u32, read_u32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:85:39
[INFO] [stdout]     |
[INFO] [stdout] 85  |               fn inner_decode(src: &mut Read) -> io::Result<Self> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `packets` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:86:23
[INFO] [stdout]     |
[INFO] [stdout] 86  |                   match try!(<Var<i32> as Protocol>::proto_decode(src)) {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `packets` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |                   try!(<Var<i32> as Protocol>::proto_encode(&$id, dst));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `packets` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:99:46
[INFO] [stdout]     |
[INFO] [stdout] 99  |               fn inner_encode(&self, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `packets` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 210 | impl_protocol!(u32, 4, write_u32, read_u32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 | impl_protocol!(i64, 8, write_i64, read_i64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 211 | impl_protocol!(i64, 8, write_i64, read_i64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 211 | impl_protocol!(i64, 8, write_i64, read_i64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 | impl_protocol!(u64, 8, write_u64, read_u64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 212 | impl_protocol!(u64, 8, write_u64, read_u64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 212 | impl_protocol!(u64, 8, write_u64, read_u64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 | impl_protocol!(f32, 4, write_f32, read_f32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 213 | impl_protocol!(f32, 4, write_f32, read_f32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 213 | impl_protocol!(f32, 4, write_f32, read_f32);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(dst.$enc_name::<BigEndian>(*value));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 | impl_protocol!(f64, 8, write_f64, read_f64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:130:54
[INFO] [stdout]     |
[INFO] [stdout] 130 |             fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                      ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 214 | impl_protocol!(f64, 8, write_f64, read_f64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:135:39
[INFO] [stdout]     |
[INFO] [stdout] 135 |             fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                       ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 214 | impl_protocol!(f64, 8, write_f64, read_f64);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `impl_protocol` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |         try!(dst.write_u8(if *value { 1 } else { 0 }));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:221:45
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn proto_encode(value: &bool, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                             ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:226:31
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn proto_decode(src: &mut Read) -> io::Result<bool> {
[INFO] [stdout]     |                               ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:227:21
[INFO] [stdout]     |
[INFO] [stdout] 227 |         let value = try!(src.read_u8());
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:247:57
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn proto_encode(value: &Option<T::Clean>, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                         ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:250:17
[INFO] [stdout]     |
[INFO] [stdout] 250 |                 try!(<bool as Protocol>::proto_encode(&true, dst));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:251:17
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 try!(<T as Protocol>::proto_encode(inner, dst));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:254:17
[INFO] [stdout]     |
[INFO] [stdout] 254 |                 try!(<bool as Protocol>::proto_encode(&false, dst));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:260:31
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn proto_decode(src: &mut Read) -> io::Result<Option<T::Clean>> {
[INFO] [stdout]     |                               ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 261 |         if try!(<bool as Protocol>::proto_decode(src)) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |             Ok(Some(try!(<T as Protocol>::proto_decode(src))))
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:277:45
[INFO] [stdout]     |
[INFO] [stdout] 277 |     fn proto_encode(value: &Self, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                             ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:285:31
[INFO] [stdout]     |
[INFO] [stdout] 285 |     fn proto_decode(src: &mut Read) -> io::Result<Self> {
[INFO] [stdout]     |                               ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:286:15
[INFO] [stdout]     |
[INFO] [stdout] 286 |         match try!(<Var<i32> as Protocol>::proto_decode(src)) {
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 | / proto_structs! {
[INFO] [stdout] 295 | |     BlockChangeRecord {
[INFO] [stdout] 296 | |         xz: u8,
[INFO] [stdout] 297 | |         y: u8,
[INFO] [stdout] ...   |
[INFO] [stdout] 310 | |     }
[INFO] [stdout] 311 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:85:39
[INFO] [stdout]     |
[INFO] [stdout] 85  |               fn inner_decode(src: &mut Read) -> io::Result<Self> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `packets` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:86:23
[INFO] [stdout]     |
[INFO] [stdout] 86  |                   match try!(<Var<i32> as Protocol>::proto_decode(src)) {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `packets` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:100:17
[INFO] [stdout]     |
[INFO] [stdout] 100 |                   try!(<Var<i32> as Protocol>::proto_encode(&$id, dst));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `packets` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:99:46
[INFO] [stdout]     |
[INFO] [stdout] 99  |               fn inner_encode(&self, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 314 | /     packets! {
[INFO] [stdout] 315 | |         0x00 => Handshake { proto_version: Var<i32>, server_address: String, server_port: u16, next_state: NextState }
[INFO] [stdout] 316 | |     }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `packets` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:369:21
[INFO] [stdout]     |
[INFO] [stdout] 369 |                     try!(<bool as Protocol>::proto_encode(&this.sky_light_sent, dst));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:371:21
[INFO] [stdout]     |
[INFO] [stdout] 371 |                     try!(<Var<i32> as Protocol>::proto_encode(&columns, dst));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:368:56
[INFO] [stdout]     |
[INFO] [stdout] 368 |                 fn proto_encode(this: &Self, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:373:25
[INFO] [stdout]     |
[INFO] [stdout] 373 |                         try!(<ChunkMeta as Protocol>::proto_encode(cm, dst));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:377:25
[INFO] [stdout]     |
[INFO] [stdout] 377 |                         try!(dst.write_all(&chunk_column));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:376:44
[INFO] [stdout]     |
[INFO] [stdout] 376 |                         let chunk_column = try!(cd.encode());
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:390:21
[INFO] [stdout]     |
[INFO] [stdout] 390 |                     try!(src.read_to_end(&mut data));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:381:43
[INFO] [stdout]     |
[INFO] [stdout] 381 |                 fn proto_decode(src: &mut Read) -> io::Result<ChunkDataBulk> {
[INFO] [stdout]     |                                           ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:382:42
[INFO] [stdout]     |
[INFO] [stdout] 382 |                     let sky_light_sent = try!(<bool as Protocol>::proto_decode(src));
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:383:35
[INFO] [stdout]     |
[INFO] [stdout] 383 |                     let columns = try!(<Var<i32> as Protocol>::proto_decode(src));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:386:31
[INFO] [stdout]     |
[INFO] [stdout] 386 |                         *cm = try!(<ChunkMeta as Protocol>::proto_decode(src));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:395:31
[INFO] [stdout]     |
[INFO] [stdout] 395 |                         *cd = try!(ChunkColumn::decode(&mut src, cm.mask, true, true));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:369:21
[INFO] [stdout]     |
[INFO] [stdout] 369 |                     try!(<bool as Protocol>::proto_encode(&this.sky_light_sent, dst));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:371:21
[INFO] [stdout]     |
[INFO] [stdout] 371 |                     try!(<Var<i32> as Protocol>::proto_encode(&columns, dst));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:368:56
[INFO] [stdout]     |
[INFO] [stdout] 368 |                 fn proto_encode(this: &Self, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:373:25
[INFO] [stdout]     |
[INFO] [stdout] 373 |                         try!(<ChunkMeta as Protocol>::proto_encode(cm, dst));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:377:25
[INFO] [stdout]     |
[INFO] [stdout] 377 |                         try!(dst.write_all(&chunk_column));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:376:44
[INFO] [stdout]     |
[INFO] [stdout] 376 |                         let chunk_column = try!(cd.encode());
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:390:21
[INFO] [stdout]     |
[INFO] [stdout] 390 |                     try!(src.read_to_end(&mut data));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:381:43
[INFO] [stdout]     |
[INFO] [stdout] 381 |                 fn proto_decode(src: &mut Read) -> io::Result<ChunkDataBulk> {
[INFO] [stdout]     |                                           ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:382:42
[INFO] [stdout]     |
[INFO] [stdout] 382 |                     let sky_light_sent = try!(<bool as Protocol>::proto_decode(src));
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:383:35
[INFO] [stdout]     |
[INFO] [stdout] 383 |                     let columns = try!(<Var<i32> as Protocol>::proto_decode(src));
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:386:31
[INFO] [stdout]     |
[INFO] [stdout] 386 |                         *cm = try!(<ChunkMeta as Protocol>::proto_decode(src));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:395:31
[INFO] [stdout]     |
[INFO] [stdout] 395 |                         *cd = try!(ChunkColumn::decode(&mut src, cm.mask, true, true));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:436:21
[INFO] [stdout]     |
[INFO] [stdout] 436 |                     try!(<String as Protocol>::proto_encode(&this.channel, dst));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:437:21
[INFO] [stdout]     |
[INFO] [stdout] 437 |                     try!(dst.write_all(&this.data));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:435:56
[INFO] [stdout]     |
[INFO] [stdout] 435 |                 fn proto_encode(this: &Self, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:440:43
[INFO] [stdout]     |
[INFO] [stdout] 440 |                 fn proto_decode(src: &mut Read) -> io::Result<PluginMessage> {
[INFO] [stdout]     |                                           ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:442:34
[INFO] [stdout]     |
[INFO] [stdout] 442 |                         channel: try!(<String as Protocol>::proto_decode(src)),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:443:57
[INFO] [stdout]     |
[INFO] [stdout] 443 |                         data:  { let mut data = vec![]; try!(src.read_to_end(&mut data)); data },
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:436:21
[INFO] [stdout]     |
[INFO] [stdout] 436 |                     try!(<String as Protocol>::proto_encode(&this.channel, dst));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:437:21
[INFO] [stdout]     |
[INFO] [stdout] 437 |                     try!(dst.write_all(&this.data));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:435:56
[INFO] [stdout]     |
[INFO] [stdout] 435 |                 fn proto_encode(this: &Self, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:440:43
[INFO] [stdout]     |
[INFO] [stdout] 440 |                 fn proto_decode(src: &mut Read) -> io::Result<PluginMessage> {
[INFO] [stdout]     |                                           ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:442:34
[INFO] [stdout]     |
[INFO] [stdout] 442 |                         channel: try!(<String as Protocol>::proto_decode(src)),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:443:57
[INFO] [stdout]     |
[INFO] [stdout] 443 |                         data:  { let mut data = vec![]; try!(src.read_to_end(&mut data)); data },
[INFO] [stdout]     |                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                       $($fname: try!(<$fty as Protocol>::proto_decode(src))),*
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/packet.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |                   $(try!(<$fty as Protocol>::proto_encode(&value.$fname, dst));)*
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:157:54
[INFO] [stdout]     |
[INFO] [stdout] 157 |               fn proto_encode(value: &$name, dst: &mut Write) -> io::Result<()> {
[INFO] [stdout]     |                                                        ^^^^^ help: use `dyn`: `dyn Write`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 320 | |         0x00 => KeepAlive { keep_alive_id: Var<i32> }
[INFO] [stdout] 321 | |         0x01 => JoinGame { entity_id: i32, gamemode: u8, dimension: Dimension, difficulty: u8, max_players: u8, level_type: String, reduc...
[INFO] [stdout] 322 | |         // 0x02 => ChatMessage { data: Chat, position: i8 }
[INFO] [stdout] ...   |
[INFO] [stdout] 457 | |         0x49 => UpdateEntityNbt { entity_id: Var<i32>, tag: nbt::Blob }
[INFO] [stdout] 458 | |     } }
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `proto_struct` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/packet.rs:162:39
[INFO] [stdout]     |
[INFO] [stdout] 162 |               fn proto_decode(src: &mut Read) -> io::Result<$name> {
[INFO] [stdout]     |                                         ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub mod clientbound { packets! {
[INFO] [stdout]     |  ___________________________-
[WARN] too many lines in the log, truncating it
