[INFO] fetching crate td_proto_rust 0.1.4...
[INFO] testing td_proto_rust-0.1.4 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-8
[INFO] extracting crate td_proto_rust 0.1.4 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate td_proto_rust 0.1.4
[INFO] finished tweaking crates.io crate td_proto_rust 0.1.4
[INFO] tweaked toml for crates.io crate td_proto_rust 0.1.4 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate td_proto_rust 0.1.4 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 1 package to latest compatible version
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 905c28a014e5acc703e5eb1b8e3490651311824c49a9b473ab67aa85a5c1825f
[INFO] running `Command { std: "docker" "start" "-a" "905c28a014e5acc703e5eb1b8e3490651311824c49a9b473ab67aa85a5c1825f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "905c28a014e5acc703e5eb1b8e3490651311824c49a9b473ab67aa85a5c1825f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "905c28a014e5acc703e5eb1b8e3490651311824c49a9b473ab67aa85a5c1825f", kill_on_drop: false }`
[INFO] [stdout] 905c28a014e5acc703e5eb1b8e3490651311824c49a9b473ab67aa85a5c1825f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b0c2cf96756c310c198f751100d1fee33939a69e6c0af7d5646b1e54fbd47648
[INFO] running `Command { std: "docker" "start" "-a" "b0c2cf96756c310c198f751100d1fee33939a69e6c0af7d5646b1e54fbd47648", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling td_proto_rust v0.1.4 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]  --> src/config.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | #[derive(RustcDecodable, Debug)]
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]   --> src/config.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[derive(RustcDecodable, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/values.rs:452:17
[INFO] [stdout]     |
[INFO] [stdout] 452 |                 try!(desc.fmt(f));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/values.rs:453:17
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 try!(f.write_str(": "));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/values.rs:457:17
[INFO] [stdout]     |
[INFO] [stdout] 457 |                 try!(code.fmt(f));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/values.rs:458:17
[INFO] [stdout]     |
[INFO] [stdout] 458 |                 try!(f.write_str(": "));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     try!(encode_number(buffer, &Value::from(0 as u16)));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     try!(encode_number(buffer, &Value::U16(get_type_by_name(pattern))));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     try!(buffer.write(val));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |             try!(buffer.write(unsafe { &mem::transmute::<u8, [u8; 1]>(val) }));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:35:13
[INFO] [stdout]    |
[INFO] [stdout] 35 |             try!(buffer.write(unsafe { &mem::transmute::<i8, [u8; 1]>(val) }));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             try!(buffer.write(unsafe { &mem::transmute::<u16, [u8; 2]>(val.to_le()) }));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 41 |             try!(buffer.write(unsafe { &mem::transmute::<i16, [u8; 2]>(val.to_le()) }));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |             try!(buffer.write(unsafe { &mem::transmute::<u32, [u8; 4]>(val.to_le()) }));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             try!(buffer.write(unsafe { &mem::transmute::<i32, [u8; 4]>(val.to_le()) }));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:51:13
[INFO] [stdout]    |
[INFO] [stdout] 51 |             try!(buffer.write(unsafe { &mem::transmute::<i32, [u8; 4]>(val.to_le()) }));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             try!(encode_number(buffer, &Value::U16(val.len() as u16)));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |             try!(append_and_align(buffer, &val.as_bytes()[..]));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |             try!(encode_number(buffer, &Value::U16(val.len() as u16)));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:66:13
[INFO] [stdout]    |
[INFO] [stdout] 66 |             try!(append_and_align(buffer, &val[..]));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             try!(write_str_field(buffer, STR_TYPE_NIL));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 if try!(write_field(buffer, config.get_field_by_name(name))) {
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     try!(encode_field(buffer, config, sub_value));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     try!(encode_number(buffer, &Value::U16(field.index)));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/encode.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     try!(encode_number(buffer, &Value::U16(get_type_by_name(&field.pattern))));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/encode.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     try!(write_str_field(buffer, get_name_by_type(get_type_by_value(value))));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/encode.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |             try!(encode_number(buffer, value));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/encode.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |             try!(encode_str_raw(buffer, value));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/encode.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             try!(encode_map(buffer, config, value));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/encode.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |             try!(write_str_field(buffer, STR_TYPE_NIL));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/encode.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |                 try!(encode_field(buffer, config, v));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/encode.rs:130:17
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 check_vailed!(v, must_type);
[INFO] [stdout]     |                 --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail`
[INFO] [stdout]     = note: `#[deny(semicolon_in_expressions_from_macros)]` (part of `#[deny(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this error originates in the macro `fail` which comes from the expansion of the macro `check_vailed` (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/encode.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     try!(encode_str_raw(buffer, &Value::Str(name.clone())));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/encode.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     try!(write_str_field(buffer, STR_TYPE_NIL));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |           return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/encode.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 | /     ensure!(proto.is_some(),
[INFO] [stdout] 146 | |             (ErrorKind::MissingError, "missing the name protocol"));
[INFO] [stdout]     | |___________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail`
[INFO] [stdout]     = note: this error originates in the macro `fail` which comes from the expansion of the macro `ensure` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |           return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/encode.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | /     ensure!(proto.args.len() == infos.len(),
[INFO] [stdout] 149 | |             (ErrorKind::TypeNotMatchError, "the data num not match protocol args num"));
[INFO] [stdout]     | |_______________________________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `fail`
[INFO] [stdout]     = note: this error originates in the macro `fail` which comes from the expansion of the macro `ensure` (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/encode.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |         try!(encode_field(buffer, config, info));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/macros.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             if try!($expr) != $val {
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/decode.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             try_read!(buffer.read(data), data.len());
[INFO] [stdout]    |             ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `try_read` (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/macros.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             if try!($expr) != $val {
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/decode.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |             try_read!(buffer.read(data), data.len());
[INFO] [stdout]    |             ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `try_read` (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/macros.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             if try!($expr) != $val {
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/decode.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |             try_read!(buffer.read(data), data.len());
[INFO] [stdout]    |             ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `try_read` (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/macros.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             if try!($expr) != $val {
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/decode.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             try_read!(buffer.read(data), data.len());
[INFO] [stdout]    |             ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `try_read` (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/macros.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             if try!($expr) != $val {
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/decode.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |             try_read!(buffer.read(data), data.len());
[INFO] [stdout]    |             ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `try_read` (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/macros.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             if try!($expr) != $val {
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/decode.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |             try_read!(buffer.read(data), data.len());
[INFO] [stdout]    |             ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `try_read` (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/macros.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             if try!($expr) != $val {
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/decode.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             try_read!(buffer.read(data), data.len());
[INFO] [stdout]    |             ---------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `try_read` (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/decode.rs:70:28
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let len: u16 = try!(decode_number(buffer, TYPE_U16)).into();
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/macros.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             if try!($expr) != $val {
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/decode.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |             try_read!(buffer.read(&mut rv[..]), len as usize);
[INFO] [stdout]    |             ------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `try_read` (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/decode.rs:83:28
[INFO] [stdout]    |
[INFO] [stdout] 83 |             let len: u16 = try!(decode_number(buffer, TYPE_U16)).into();
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/macros.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             if try!($expr) != $val {
[INFO] [stdout]    |                ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/decode.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |             try_read!(buffer.read(&mut rv[..]), len as usize);
[INFO] [stdout]    |             ------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `try_read` (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/decode.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let field = try!(read_field(buffer));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/decode.rs:104:25
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let sub_value = try!(decode_field(buffer, config));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/decode.rs:115:17
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let index = try!(decode_number(buffer, TYPE_U16)).into();
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/decode.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let pattern = try!(decode_number(buffer, TYPE_U16)).into();
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/macros.rs:39:33
[INFO] [stdout]     |
[INFO] [stdout]  39 |                 let sub_value = try!($expr);
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:131:21
[INFO] [stdout]     |
[INFO] [stdout] 131 |         TYPE_AU8 => decode_array!(decode_field(buffer, config), Value::AU8, Value::U8),
[INFO] [stdout]     |                     ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `decode_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:131:21
[INFO] [stdout]     |
[INFO] [stdout] 131 |         TYPE_AU8 => decode_array!(decode_field(buffer, config), Value::AU8, Value::U8),
[INFO] [stdout]     |                     ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `fail` which comes from the expansion of the macro `decode_array` (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/macros.rs:39:33
[INFO] [stdout]     |
[INFO] [stdout]  39 |                 let sub_value = try!($expr);
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:132:21
[INFO] [stdout]     |
[INFO] [stdout] 132 |         TYPE_AI8 => decode_array!(decode_field(buffer, config), Value::AI8, Value::I8),
[INFO] [stdout]     |                     ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `decode_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:132:21
[INFO] [stdout]     |
[INFO] [stdout] 132 |         TYPE_AI8 => decode_array!(decode_field(buffer, config), Value::AI8, Value::I8),
[INFO] [stdout]     |                     ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `fail` which comes from the expansion of the macro `decode_array` (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/macros.rs:39:33
[INFO] [stdout]     |
[INFO] [stdout]  39 |                 let sub_value = try!($expr);
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |         TYPE_AU16 => decode_array!(decode_field(buffer, config), Value::AU16, Value::U16),
[INFO] [stdout]     |                      -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `decode_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |         TYPE_AU16 => decode_array!(decode_field(buffer, config), Value::AU16, Value::U16),
[INFO] [stdout]     |                      -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `fail` which comes from the expansion of the macro `decode_array` (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/macros.rs:39:33
[INFO] [stdout]     |
[INFO] [stdout]  39 |                 let sub_value = try!($expr);
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:134:22
[INFO] [stdout]     |
[INFO] [stdout] 134 |         TYPE_AI16 => decode_array!(decode_field(buffer, config), Value::AI16, Value::I16),
[INFO] [stdout]     |                      -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `decode_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:134:22
[INFO] [stdout]     |
[INFO] [stdout] 134 |         TYPE_AI16 => decode_array!(decode_field(buffer, config), Value::AI16, Value::I16),
[INFO] [stdout]     |                      -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `fail` which comes from the expansion of the macro `decode_array` (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/macros.rs:39:33
[INFO] [stdout]     |
[INFO] [stdout]  39 |                 let sub_value = try!($expr);
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:135:22
[INFO] [stdout]     |
[INFO] [stdout] 135 |         TYPE_AU32 => decode_array!(decode_field(buffer, config), Value::AU32, Value::U32),
[INFO] [stdout]     |                      -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `decode_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:135:22
[INFO] [stdout]     |
[INFO] [stdout] 135 |         TYPE_AU32 => decode_array!(decode_field(buffer, config), Value::AU32, Value::U32),
[INFO] [stdout]     |                      -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `fail` which comes from the expansion of the macro `decode_array` (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/macros.rs:39:33
[INFO] [stdout]     |
[INFO] [stdout]  39 |                 let sub_value = try!($expr);
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:136:22
[INFO] [stdout]     |
[INFO] [stdout] 136 |         TYPE_AI32 => decode_array!(decode_field(buffer, config), Value::AI32, Value::I32),
[INFO] [stdout]     |                      -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `decode_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:136:22
[INFO] [stdout]     |
[INFO] [stdout] 136 |         TYPE_AI32 => decode_array!(decode_field(buffer, config), Value::AI32, Value::I32),
[INFO] [stdout]     |                      -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `fail` which comes from the expansion of the macro `decode_array` (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/macros.rs:39:33
[INFO] [stdout]     |
[INFO] [stdout]  39 |                 let sub_value = try!($expr);
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:137:24
[INFO] [stdout]     |
[INFO] [stdout] 137 |         TYPE_AFLOAT => decode_array!(decode_field(buffer, config), Value::AFloat, Value::Float),
[INFO] [stdout]     |                        ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `decode_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:137:24
[INFO] [stdout]     |
[INFO] [stdout] 137 |         TYPE_AFLOAT => decode_array!(decode_field(buffer, config), Value::AFloat, Value::Float),
[INFO] [stdout]     |                        ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `fail` which comes from the expansion of the macro `decode_array` (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/macros.rs:39:33
[INFO] [stdout]     |
[INFO] [stdout]  39 |                 let sub_value = try!($expr);
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:138:22
[INFO] [stdout]     |
[INFO] [stdout] 138 |         TYPE_ASTR => decode_array!(decode_field(buffer, config), Value::AStr, Value::Str),
[INFO] [stdout]     |                      -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `decode_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:138:22
[INFO] [stdout]     |
[INFO] [stdout] 138 |         TYPE_ASTR => decode_array!(decode_field(buffer, config), Value::AStr, Value::Str),
[INFO] [stdout]     |                      -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `fail` which comes from the expansion of the macro `decode_array` (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/macros.rs:39:33
[INFO] [stdout]     |
[INFO] [stdout]  39 |                 let sub_value = try!($expr);
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:139:22
[INFO] [stdout]     |
[INFO] [stdout] 139 |         TYPE_ARAW => decode_array!(decode_field(buffer, config), Value::ARaw, Value::Raw),
[INFO] [stdout]     |                      -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `decode_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:139:22
[INFO] [stdout]     |
[INFO] [stdout] 139 |         TYPE_ARAW => decode_array!(decode_field(buffer, config), Value::ARaw, Value::Raw),
[INFO] [stdout]     |                      -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `fail` which comes from the expansion of the macro `decode_array` (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/macros.rs:39:33
[INFO] [stdout]     |
[INFO] [stdout]  39 |                 let sub_value = try!($expr);
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:140:22
[INFO] [stdout]     |
[INFO] [stdout] 140 |         TYPE_AMAP => decode_array!(decode_field(buffer, config), Value::AMap, Value::Map),
[INFO] [stdout]     |                      -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `decode_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:140:22
[INFO] [stdout]     |
[INFO] [stdout] 140 |         TYPE_AMAP => decode_array!(decode_field(buffer, config), Value::AMap, Value::Map),
[INFO] [stdout]     |                      -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `fail` which comes from the expansion of the macro `decode_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/macros.rs:5:54
[INFO] [stdout]     |
[INFO] [stdout]   5 |         return Err(::std::convert::From::from($expr));
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/decode.rs:142:14
[INFO] [stdout]     |
[INFO] [stdout] 142 |         _ => fail!((ErrorKind::TypeNotMatchError, "must match type")),
[INFO] [stdout]     |              -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `fail` (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/decode.rs:148:17
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let field = try!(read_field(buffer));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/decode.rs:156:16
[INFO] [stdout]     |
[INFO] [stdout] 156 |     let name = try!(decode_str_raw(buffer, TYPE_STR)).into();
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/decode.rs:160:25
[INFO] [stdout]     |
[INFO] [stdout] 160 |         let sub_value = try!(decode_field(buffer, config));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/values.rs:439:32
[INFO] [stdout]     |
[INFO] [stdout] 439 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 439 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/values.rs:435:48
[INFO] [stdout]     |
[INFO] [stdout] 435 |             ErrorRepr::IoError(ref err) => err.description(),
[INFO] [stdout]     |                                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/values.rs:441:57
[INFO] [stdout]     |
[INFO] [stdout] 441 |             ErrorRepr::IoError(ref err) => Some(err as &error::Error),
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 441 |             ErrorRepr::IoError(ref err) => Some(err as &dyn error::Error),
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Field: Decodable` is not satisfied
[INFO] [stdout]    --> src/config.rs:81:56
[INFO] [stdout]     |
[INFO] [stdout]  81 |         let field: Result<HashMap<String, Field>, _> = json::decode(&field.unwrap().to_string());
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Decodable` is not implemented for `Field`
[INFO] [stdout]    --> src/config.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub struct Field {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Decodable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T10, T11)
[INFO] [stdout]               (T11,)
[INFO] [stdout]               (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]             and 71 others
[INFO] [stdout]     = note: required for `HashMap<std::string::String, Field>` to implement `Decodable`
[INFO] [stdout] note: required by a bound in `rustc_serialize::json::decode`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-serialize-0.3.25/src/json.rs:379:18
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn decode<T: ::Decodable>(s: &str) -> DecodeResult<T> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ required by this bound in `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proto: Decodable` is not satisfied
[INFO] [stdout]    --> src/config.rs:82:56
[INFO] [stdout]     |
[INFO] [stdout]  82 |         let proto: Result<HashMap<String, Proto>, _> = json::decode(&proto.unwrap().to_string());
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Decodable` is not implemented for `Proto`
[INFO] [stdout]    --> src/config.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub struct Proto {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Decodable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T10, T11)
[INFO] [stdout]               (T11,)
[INFO] [stdout]               (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]             and 71 others
[INFO] [stdout]     = note: required for `HashMap<std::string::String, Proto>` to implement `Decodable`
[INFO] [stdout] note: required by a bound in `rustc_serialize::json::decode`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-serialize-0.3.25/src/json.rs:379:18
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn decode<T: ::Decodable>(s: &str) -> DecodeResult<T> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ required by this bound in `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Field: Decodable` is not satisfied
[INFO] [stdout]    --> src/config.rs:90:56
[INFO] [stdout]     |
[INFO] [stdout]  90 |         let field: Result<HashMap<String, Field>, _> = json::decode(field);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Decodable` is not implemented for `Field`
[INFO] [stdout]    --> src/config.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | pub struct Field {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Decodable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T10, T11)
[INFO] [stdout]               (T11,)
[INFO] [stdout]               (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]             and 71 others
[INFO] [stdout]     = note: required for `HashMap<std::string::String, Field>` to implement `Decodable`
[INFO] [stdout] note: required by a bound in `rustc_serialize::json::decode`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-serialize-0.3.25/src/json.rs:379:18
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn decode<T: ::Decodable>(s: &str) -> DecodeResult<T> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ required by this bound in `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Proto: Decodable` is not satisfied
[INFO] [stdout]    --> src/config.rs:91:56
[INFO] [stdout]     |
[INFO] [stdout]  91 |         let proto: Result<HashMap<String, Proto>, _> = json::decode(proto);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Decodable` is not implemented for `Proto`
[INFO] [stdout]    --> src/config.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub struct Proto {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Decodable`:
[INFO] [stdout]               ()
[INFO] [stdout]               (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T10, T11)
[INFO] [stdout]               (T11,)
[INFO] [stdout]               (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T3, T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]               (T4, T5, T6, T7, T8, T9, T10, T11)
[INFO] [stdout]             and 71 others
[INFO] [stdout]     = note: required for `HashMap<std::string::String, Proto>` to implement `Decodable`
[INFO] [stdout] note: required by a bound in `rustc_serialize::json::decode`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-serialize-0.3.25/src/json.rs:379:18
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn decode<T: ::Decodable>(s: &str) -> DecodeResult<T> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ required by this bound in `decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `td_proto_rust` (lib) due to 34 previous errors; 63 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b0c2cf96756c310c198f751100d1fee33939a69e6c0af7d5646b1e54fbd47648", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b0c2cf96756c310c198f751100d1fee33939a69e6c0af7d5646b1e54fbd47648", kill_on_drop: false }`
[INFO] [stdout] b0c2cf96756c310c198f751100d1fee33939a69e6c0af7d5646b1e54fbd47648
