[INFO] fetching crate thrust 0.1.0...
[INFO] testing thrust-0.1.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate thrust 0.1.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate thrust 0.1.0
[INFO] finished tweaking crates.io crate thrust 0.1.0
[INFO] tweaked toml for crates.io crate thrust 0.1.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate thrust 0.1.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "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" "+1.100.0-beta.1" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 17 packages to highest compatible versions
[INFO] [stderr]       Adding docopt v0.6.86 (available: v1.1.1)
[INFO] [stderr]       Adding nom v1.2.4 (available: v8.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | homepage = "https://github.com/thehydroimpulse/thrust"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 | repository = "https://github.com/thehydroimpulse/thrust"
[INFO] [stderr]    |              -------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `thrust` (manifest) generated 2 warnings
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9c323c7c75be3009760c6f4773d063e2b82a431b60042b2c6642061924e2c91f
[INFO] running `Command { std: "docker" "start" "9c323c7c75be3009760c6f4773d063e2b82a431b60042b2c6642061924e2c91f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c323c7c75be3009760c6f4773d063e2b82a431b60042b2c6642061924e2c91f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9c323c7c75be3009760c6f4773d063e2b82a431b60042b2c6642061924e2c91f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c323c7c75be3009760c6f4773d063e2b82a431b60042b2c6642061924e2c91f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9c323c7c75be3009760c6f4773d063e2b82a431b60042b2c6642061924e2c91f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | homepage = "https://github.com/thehydroimpulse/thrust"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 | repository = "https://github.com/thehydroimpulse/thrust"
[INFO] [stderr]    |              -------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `thrust` (manifest) generated 2 warnings
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling regex-syntax v0.3.9
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling rustc-serialize v0.3.25
[INFO] [stderr]    Compiling strsim v0.5.2
[INFO] [stderr]    Compiling nom v1.2.4
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling docopt v0.6.86
[INFO] [stderr]    Compiling thrust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]  --> src/lib.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::str;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/parser.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | / /// ```notrust
[INFO] [stdout] 164 | | /// struct Foobar {
[INFO] [stdout] 165 | | ///     1: string name
[INFO] [stdout] 166 | | /// }
[INFO] [stdout] 167 | | /// ```
[INFO] [stdout]     | |_------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `be_u8`
[INFO] [stdout]  --> src/parser.rs:1:99
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nom::{space, alphanumeric, ErrorKind, IterIndices, IResult, multispace, not_line_ending, Err, be_u8, digit, InputLength, is_alpha...
[INFO] [stdout]   |                                                                                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::From`
[INFO] [stdout]  --> src/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Index`, `RangeFrom`, and `Range`
[INFO] [stdout]  --> src/parser.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::{Index,Range,RangeFrom};
[INFO] [stdout]   |                ^^^^^ ^^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / named!(blanks,
[INFO] [stdout] 10 | |        chain!(
[INFO] [stdout] 11 | |            many0!(alt!(multispace | comment_one_line | comment_block)),
[INFO] [stdout] 12 | |            || { &b""[..] }));
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    |
[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 `alt_parser`
[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: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `alt_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / named!(blanks,
[INFO] [stdout] 10 | |        chain!(
[INFO] [stdout] 11 | |            many0!(alt!(multispace | comment_one_line | comment_block)),
[INFO] [stdout] 12 | |            || { &b""[..] }));
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    |
[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 `alt_parser`
[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 warning originates in the macro `alt_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / named!(blanks,
[INFO] [stdout] 10 | |        chain!(
[INFO] [stdout] 11 | |            many0!(alt!(multispace | comment_one_line | comment_block)),
[INFO] [stdout] 12 | |            || { &b""[..] }));
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    |
[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 `alt_parser`
[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 warning originates in the macro `alt_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / named!(comment_one_line,
[INFO] [stdout] 16 | |        chain!(
[INFO] [stdout] 17 | |            alt!(tag!("//") | tag!("#")) ~
[INFO] [stdout] 18 | |            not_line_ending? ~
[INFO] [stdout] 19 | |            alt!(eol | eof),
[INFO] [stdout] 20 | |            || { &b""[..] }));
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / named!(comment_one_line,
[INFO] [stdout] 16 | |        chain!(
[INFO] [stdout] 17 | |            alt!(tag!("//") | tag!("#")) ~
[INFO] [stdout] 18 | |            not_line_ending? ~
[INFO] [stdout] 19 | |            alt!(eol | eof),
[INFO] [stdout] 20 | |            || { &b""[..] }));
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    |
[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 `alt_parser`
[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 warning originates in the macro `alt_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / named!(comment_one_line,
[INFO] [stdout] 16 | |        chain!(
[INFO] [stdout] 17 | |            alt!(tag!("//") | tag!("#")) ~
[INFO] [stdout] 18 | |            not_line_ending? ~
[INFO] [stdout] 19 | |            alt!(eol | eof),
[INFO] [stdout] 20 | |            || { &b""[..] }));
[INFO] [stdout]    | |____________________________^
[INFO] [stdout]    |
[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 `alt_parser`
[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 warning originates in the macro `alt_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | named!(pub parse_ident<&[u8], &str>, map_res!(alphanumeric, str::from_utf8));
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[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 `map_res`
[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 warning originates in the macro `map_res` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | / named!(pub parse_thrift<&[u8], Vec<Box<Ast> > >, many0!(
[INFO] [stdout] 43 | |     alt!(
[INFO] [stdout] 44 | |         parse_ast_namespace |
[INFO] [stdout] 45 | |         parse_ast_struct
[INFO] [stdout] 46 | |     )
[INFO] [stdout] 47 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[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 `alt_parser`
[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 warning originates in the macro `alt_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | / named!(pub parse_thrift<&[u8], Vec<Box<Ast> > >, many0!(
[INFO] [stdout] 43 | |     alt!(
[INFO] [stdout] 44 | |         parse_ast_namespace |
[INFO] [stdout] 45 | |         parse_ast_struct
[INFO] [stdout] 46 | |     )
[INFO] [stdout] 47 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[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 `alt_parser`
[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 warning originates in the macro `alt_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | / named!(pub parse_ast_namespace<&[u8], Box<Ast> >, chain!(
[INFO] [stdout] 50 | |     ns: parse_namespace,
[INFO] [stdout] 51 | |     || { Box::new(ns) }
[INFO] [stdout] 52 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | / named!(pub parse_ast_struct<&[u8], Box<Ast> >, chain!(
[INFO] [stdout] 55 | |     st: parse_struct,
[INFO] [stdout] 56 | |     || { Box::new(st) }
[INFO] [stdout] 57 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / named!(pub parse_namespace<&[u8], NamespaceNode>, chain!(
[INFO] [stdout] 80 | |     multispace? ~
[INFO] [stdout] 81 | |     tag!("namespace") ~
[INFO] [stdout] 82 | |     space ~
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / named!(pub parse_namespace<&[u8], NamespaceNode>, chain!(
[INFO] [stdout] 80 | |     multispace? ~
[INFO] [stdout] 81 | |     tag!("namespace") ~
[INFO] [stdout] 82 | |     space ~
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / named!(pub parse_namespace<&[u8], NamespaceNode>, chain!(
[INFO] [stdout] 80 | |     multispace? ~
[INFO] [stdout] 81 | |     tag!("namespace") ~
[INFO] [stdout] 82 | |     space ~
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / named!(pub parse_namespace<&[u8], NamespaceNode>, chain!(
[INFO] [stdout] 80 | |     multispace? ~
[INFO] [stdout] 81 | |     tag!("namespace") ~
[INFO] [stdout] 82 | |     space ~
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / named!(pub parse_namespace<&[u8], NamespaceNode>, chain!(
[INFO] [stdout] 80 | |     multispace? ~
[INFO] [stdout] 81 | |     tag!("namespace") ~
[INFO] [stdout] 82 | |     space ~
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[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 `map_res`
[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 warning originates in the macro `map_res` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / named!(pub parse_namespace<&[u8], NamespaceNode>, chain!(
[INFO] [stdout] 80 | |     multispace? ~
[INFO] [stdout] 81 | |     tag!("namespace") ~
[INFO] [stdout] 82 | |     space ~
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | | ));
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:94:1
[INFO] [stdout]     |
[INFO] [stdout]  94 | / named!(pub parse_generic_types<&[u8], Vec<String> >, chain!(
[INFO] [stdout]  95 | |     ty: separated_list!(tag!(","), chain!(
[INFO] [stdout]  96 | |         multispace? ~
[INFO] [stdout]  97 | |         ty: map_res!(alphanumeric, str::from_utf8),
[INFO] [stdout] ...   |
[INFO] [stdout] 100 | |     || { ty.into_iter().map(|s| s.to_string()).collect() }
[INFO] [stdout] 101 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:94:1
[INFO] [stdout]     |
[INFO] [stdout]  94 | / named!(pub parse_generic_types<&[u8], Vec<String> >, chain!(
[INFO] [stdout]  95 | |     ty: separated_list!(tag!(","), chain!(
[INFO] [stdout]  96 | |         multispace? ~
[INFO] [stdout]  97 | |         ty: map_res!(alphanumeric, str::from_utf8),
[INFO] [stdout] ...   |
[INFO] [stdout] 100 | |     || { ty.into_iter().map(|s| s.to_string()).collect() }
[INFO] [stdout] 101 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `map_res`
[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 warning originates in the macro `map_res` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:94:1
[INFO] [stdout]     |
[INFO] [stdout]  94 | / named!(pub parse_generic_types<&[u8], Vec<String> >, chain!(
[INFO] [stdout]  95 | |     ty: separated_list!(tag!(","), chain!(
[INFO] [stdout]  96 | |         multispace? ~
[INFO] [stdout]  97 | |         ty: map_res!(alphanumeric, str::from_utf8),
[INFO] [stdout] ...   |
[INFO] [stdout] 100 | |     || { ty.into_iter().map(|s| s.to_string()).collect() }
[INFO] [stdout] 101 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:94:1
[INFO] [stdout]     |
[INFO] [stdout]  94 | / named!(pub parse_generic_types<&[u8], Vec<String> >, chain!(
[INFO] [stdout]  95 | |     ty: separated_list!(tag!(","), chain!(
[INFO] [stdout]  96 | |         multispace? ~
[INFO] [stdout]  97 | |         ty: map_res!(alphanumeric, str::from_utf8),
[INFO] [stdout] ...   |
[INFO] [stdout] 100 | |     || { ty.into_iter().map(|s| s.to_string()).collect() }
[INFO] [stdout] 101 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `map_res`
[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 warning originates in the macro `map_res` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:103:1
[INFO] [stdout]     |
[INFO] [stdout] 103 | / named!(pub parse_generics<&[u8], Generics>, chain!(
[INFO] [stdout] 104 | |     types: delimited!(tag!("<"), parse_generic_types, tag!(">")),
[INFO] [stdout] 105 | |     || { types.into_iter().map(|ty| Ty::parse(ty, vec![])).collect() }
[INFO] [stdout] 106 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `tuple_parser`
[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 warning originates in the macro `tuple_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:108:1
[INFO] [stdout]     |
[INFO] [stdout] 108 | / named!(pub parse_simple_type<&[u8], String>, chain!(
[INFO] [stdout] 109 | |     ty: map_res!(alphanumeric, str::from_utf8),
[INFO] [stdout] 110 | |     || { ty.to_string() }
[INFO] [stdout] 111 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `map_res`
[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 warning originates in the macro `map_res` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | / named!(pub parse_type<&[u8], Ty>, chain!(
[INFO] [stdout] 114 | |     ty: parse_simple_type ~
[INFO] [stdout] 115 | |     generics: parse_generics?,
[INFO] [stdout] 116 | |     || { Ty::parse(ty, generics.unwrap_or(Vec::new())) }
[INFO] [stdout] 117 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | / named!(pub parse_type<&[u8], Ty>, chain!(
[INFO] [stdout] 114 | |     ty: parse_simple_type ~
[INFO] [stdout] 115 | |     generics: parse_generics?,
[INFO] [stdout] 116 | |     || { Ty::parse(ty, generics.unwrap_or(Vec::new())) }
[INFO] [stdout] 117 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | / named!(pub parse_metadata<&[u8], FieldMetadataNode>, chain!(
[INFO] [stdout] 120 | |     meta: map_res!(alt!(tag!("optional") | tag!("required")), str::from_utf8) ~
[INFO] [stdout] 121 | |     space,
[INFO] [stdout] 122 | |     || { FieldMetadataNode::parse(meta) }
[INFO] [stdout] 123 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `map_res`
[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 warning originates in the macro `map_res` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:119:1
[INFO] [stdout]     |
[INFO] [stdout] 119 | / named!(pub parse_metadata<&[u8], FieldMetadataNode>, chain!(
[INFO] [stdout] 120 | |     meta: map_res!(alt!(tag!("optional") | tag!("required")), str::from_utf8) ~
[INFO] [stdout] 121 | |     space,
[INFO] [stdout] 122 | |     || { FieldMetadataNode::parse(meta) }
[INFO] [stdout] 123 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | / named!(pub parse_service_method<&[u8], FunctionNode>, chain!(
[INFO] [stdout] 126 | |     multispace? ~
[INFO] [stdout] 127 | |     ty: parse_type ~
[INFO] [stdout] 128 | |     multispace ~
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | / named!(pub parse_service_method<&[u8], FunctionNode>, chain!(
[INFO] [stdout] 126 | |     multispace? ~
[INFO] [stdout] 127 | |     ty: parse_type ~
[INFO] [stdout] 128 | |     multispace ~
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | / named!(pub parse_service_method<&[u8], FunctionNode>, chain!(
[INFO] [stdout] 126 | |     multispace? ~
[INFO] [stdout] 127 | |     ty: parse_type ~
[INFO] [stdout] 128 | |     multispace ~
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | / named!(pub parse_service_method<&[u8], FunctionNode>, chain!(
[INFO] [stdout] 126 | |     multispace? ~
[INFO] [stdout] 127 | |     ty: parse_type ~
[INFO] [stdout] 128 | |     multispace ~
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | / named!(pub parse_service_method<&[u8], FunctionNode>, chain!(
[INFO] [stdout] 126 | |     multispace? ~
[INFO] [stdout] 127 | |     ty: parse_type ~
[INFO] [stdout] 128 | |     multispace ~
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | / named!(pub parse_service_method<&[u8], FunctionNode>, chain!(
[INFO] [stdout] 126 | |     multispace? ~
[INFO] [stdout] 127 | |     ty: parse_type ~
[INFO] [stdout] 128 | |     multispace ~
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | / named!(pub parse_service_method<&[u8], FunctionNode>, chain!(
[INFO] [stdout] 126 | |     multispace? ~
[INFO] [stdout] 127 | |     ty: parse_type ~
[INFO] [stdout] 128 | |     multispace ~
[INFO] [stdout] ...   |
[INFO] [stdout] 143 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | / named!(pub parse_service<&[u8], ServiceNode>, chain!(
[INFO] [stdout] 146 | |     tag!("service") ~
[INFO] [stdout] 147 | |     multispace ~
[INFO] [stdout] 148 | |     name: parse_ident ~
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | / named!(pub parse_service<&[u8], ServiceNode>, chain!(
[INFO] [stdout] 146 | |     tag!("service") ~
[INFO] [stdout] 147 | |     multispace ~
[INFO] [stdout] 148 | |     name: parse_ident ~
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | / named!(pub parse_service<&[u8], ServiceNode>, chain!(
[INFO] [stdout] 146 | |     tag!("service") ~
[INFO] [stdout] 147 | |     multispace ~
[INFO] [stdout] 148 | |     name: parse_ident ~
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | / named!(pub parse_service<&[u8], ServiceNode>, chain!(
[INFO] [stdout] 146 | |     tag!("service") ~
[INFO] [stdout] 147 | |     multispace ~
[INFO] [stdout] 148 | |     name: parse_ident ~
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | / named!(pub parse_service<&[u8], ServiceNode>, chain!(
[INFO] [stdout] 146 | |     tag!("service") ~
[INFO] [stdout] 147 | |     multispace ~
[INFO] [stdout] 148 | |     name: parse_ident ~
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `many0`
[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 warning originates in the macro `many0` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | / named!(pub parse_service<&[u8], ServiceNode>, chain!(
[INFO] [stdout] 146 | |     tag!("service") ~
[INFO] [stdout] 147 | |     multispace ~
[INFO] [stdout] 148 | |     name: parse_ident ~
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:168:1
[INFO] [stdout]     |
[INFO] [stdout] 168 | / named!(pub parse_struct<&[u8], StructNode>, chain!(
[INFO] [stdout] 169 | |     multispace? ~
[INFO] [stdout] 170 | |     tag!("struct") ~
[INFO] [stdout] 171 | |     space ~
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:168:1
[INFO] [stdout]     |
[INFO] [stdout] 168 | / named!(pub parse_struct<&[u8], StructNode>, chain!(
[INFO] [stdout] 169 | |     multispace? ~
[INFO] [stdout] 170 | |     tag!("struct") ~
[INFO] [stdout] 171 | |     space ~
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:168:1
[INFO] [stdout]     |
[INFO] [stdout] 168 | / named!(pub parse_struct<&[u8], StructNode>, chain!(
[INFO] [stdout] 169 | |     multispace? ~
[INFO] [stdout] 170 | |     tag!("struct") ~
[INFO] [stdout] 171 | |     space ~
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:168:1
[INFO] [stdout]     |
[INFO] [stdout] 168 | / named!(pub parse_struct<&[u8], StructNode>, chain!(
[INFO] [stdout] 169 | |     multispace? ~
[INFO] [stdout] 170 | |     tag!("struct") ~
[INFO] [stdout] 171 | |     space ~
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:168:1
[INFO] [stdout]     |
[INFO] [stdout] 168 | / named!(pub parse_struct<&[u8], StructNode>, chain!(
[INFO] [stdout] 169 | |     multispace? ~
[INFO] [stdout] 170 | |     tag!("struct") ~
[INFO] [stdout] 171 | |     space ~
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:168:1
[INFO] [stdout]     |
[INFO] [stdout] 168 | / named!(pub parse_struct<&[u8], StructNode>, chain!(
[INFO] [stdout] 169 | |     multispace? ~
[INFO] [stdout] 170 | |     tag!("struct") ~
[INFO] [stdout] 171 | |     space ~
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `many0`
[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 warning originates in the macro `many0` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:168:1
[INFO] [stdout]     |
[INFO] [stdout] 168 | / named!(pub parse_struct<&[u8], StructNode>, chain!(
[INFO] [stdout] 169 | |     multispace? ~
[INFO] [stdout] 170 | |     tag!("struct") ~
[INFO] [stdout] 171 | |     space ~
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:168:1
[INFO] [stdout]     |
[INFO] [stdout] 168 | / named!(pub parse_struct<&[u8], StructNode>, chain!(
[INFO] [stdout] 169 | |     multispace? ~
[INFO] [stdout] 170 | |     tag!("struct") ~
[INFO] [stdout] 171 | |     space ~
[INFO] [stdout] ...   |
[INFO] [stdout] 186 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | / named!(pub parse_struct_field<&[u8], StructFieldNode>, chain!(
[INFO] [stdout] 189 | |     order: map_res!(
[INFO] [stdout] 190 | |         map_res!(
[INFO] [stdout] 191 | |             digit,
[INFO] [stdout] ...   |
[INFO] [stdout] 212 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `map_res`
[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 warning originates in the macro `map_res` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | / named!(pub parse_struct_field<&[u8], StructFieldNode>, chain!(
[INFO] [stdout] 189 | |     order: map_res!(
[INFO] [stdout] 190 | |         map_res!(
[INFO] [stdout] 191 | |             digit,
[INFO] [stdout] ...   |
[INFO] [stdout] 212 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `map_res`
[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 warning originates in the macro `map_res` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | / named!(pub parse_struct_field<&[u8], StructFieldNode>, chain!(
[INFO] [stdout] 189 | |     order: map_res!(
[INFO] [stdout] 190 | |         map_res!(
[INFO] [stdout] 191 | |             digit,
[INFO] [stdout] ...   |
[INFO] [stdout] 212 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | / named!(pub parse_struct_field<&[u8], StructFieldNode>, chain!(
[INFO] [stdout] 189 | |     order: map_res!(
[INFO] [stdout] 190 | |         map_res!(
[INFO] [stdout] 191 | |             digit,
[INFO] [stdout] ...   |
[INFO] [stdout] 212 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | / named!(pub parse_struct_field<&[u8], StructFieldNode>, chain!(
[INFO] [stdout] 189 | |     order: map_res!(
[INFO] [stdout] 190 | |         map_res!(
[INFO] [stdout] 191 | |             digit,
[INFO] [stdout] ...   |
[INFO] [stdout] 212 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | / named!(pub parse_struct_field<&[u8], StructFieldNode>, chain!(
[INFO] [stdout] 189 | |     order: map_res!(
[INFO] [stdout] 190 | |         map_res!(
[INFO] [stdout] 191 | |             digit,
[INFO] [stdout] ...   |
[INFO] [stdout] 212 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | / named!(pub parse_struct_field<&[u8], StructFieldNode>, chain!(
[INFO] [stdout] 189 | |     order: map_res!(
[INFO] [stdout] 190 | |         map_res!(
[INFO] [stdout] 191 | |             digit,
[INFO] [stdout] ...   |
[INFO] [stdout] 212 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:188:1
[INFO] [stdout]     |
[INFO] [stdout] 188 | / named!(pub parse_struct_field<&[u8], StructFieldNode>, chain!(
[INFO] [stdout] 189 | |     order: map_res!(
[INFO] [stdout] 190 | |         map_res!(
[INFO] [stdout] 191 | |             digit,
[INFO] [stdout] ...   |
[INFO] [stdout] 212 | | ));
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[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 `chaining_parser`
[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 warning originates in the macro `chaining_parser` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/parser.rs:219:9
[INFO] [stdout]     |
[INFO] [stdout] 219 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]    --> src/parser.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 220 |     use std::str;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::IResult::*`
[INFO] [stdout]    --> src/parser.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 221 |     use nom::IResult::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ast`, `FieldMetadataNode`, `FunctionNode`, `IdentNode`, `NamespaceNode`, `ServiceNode`, `StructFieldNode`, `StructNode`, and `Ty`
[INFO] [stdout]    --> src/parser.rs:223:15
[INFO] [stdout]     |
[INFO] [stdout] 223 |     use ast::{IdentNode, StructNode, FunctionNode, ServiceNode, NamespaceNode, StructFieldNode, FieldMetadataNode, Ty, Ast};
[INFO] [stdout]     |               ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/ast.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::{Read, Write};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/generator.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Result` and `Write`
[INFO] [stdout]  --> src/generator.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{Result, Read, Write};
[INFO] [stdout]   |               ^^^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Ast`
[INFO] [stdout]  --> src/generator.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ast::Ast;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:59:29
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     buffer: try!(String::from_utf8(buf))
[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/parser.rs:42:40
[INFO] [stdout]    |
[INFO] [stdout] 42 | named!(pub parse_thrift<&[u8], Vec<Box<Ast> > >, many0!(
[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] 42 | named!(pub parse_thrift<&[u8], Vec<Box<dyn Ast> > >, many0!(
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/ast.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn gen(&self, w: &mut Write) {}
[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] 4 |     fn gen(&self, w: &mut dyn Write) {}
[INFO] [stdout]   |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser.rs:49:43
[INFO] [stdout]    |
[INFO] [stdout] 49 | named!(pub parse_ast_namespace<&[u8], Box<Ast> >, chain!(
[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] 49 | named!(pub parse_ast_namespace<&[u8], Box<dyn Ast> >, chain!(
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser.rs:54:40
[INFO] [stdout]    |
[INFO] [stdout] 54 | named!(pub parse_ast_struct<&[u8], Box<Ast> >, chain!(
[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] 54 | named!(pub parse_ast_struct<&[u8], Box<dyn Ast> >, chain!(
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:195:27
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn gen(&self, w: &mut Write) {}
[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] 195 |     fn gen(&self, w: &mut dyn Write) {}
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:213:27
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn gen(&self, w: &mut Write) {
[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] 213 |     fn gen(&self, w: &mut dyn Write) {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:227:27
[INFO] [stdout]     |
[INFO] [stdout] 227 |     fn gen(&self, w: &mut Write) {
[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] 227 |     fn gen(&self, w: &mut dyn Write) {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:255:27
[INFO] [stdout]     |
[INFO] [stdout] 255 |     fn gen(&self, w: &mut Write) {
[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] 255 |     fn gen(&self, w: &mut dyn Write) {
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]  --> src/ast.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn gen(&self, w: &mut Write) {}
[INFO] [stdout]   |                   ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/ast.rs:195:19
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn gen(&self, w: &mut Write) {}
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]   --> src/generator.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn run(path: &str, output: &str) -> &'static str {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/generator.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |             Err(err) => return "Error opening the input .thrift file."
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/generator.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |             IResult::Done(i, o) => println!("Done parsing."),
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `o`
[INFO] [stdout]   --> src/generator.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 |             IResult::Done(i, o) => println!("Done parsing."),
[INFO] [stdout]    |                              ^ help: if this is intentional, prefix it with an underscore: `_o`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/lib.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn from(err: string::FromUtf8Error) -> ThriftCompilerError {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/lib.rs:40:27
[INFO] [stdout]    |
[INFO] [stdout] 40 |             IResult::Done(i, nodes) => {
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/lib.rs:62:28
[INFO] [stdout]    |
[INFO] [stdout] 62 |             IResult::Error(err) => {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eof` is never used
[INFO] [stdout]   --> src/parser.rs:32:4
[INFO] [stdout]    |
[INFO] [stdout] 32 | fn eof(input:&[u8]) -> IResult<&[u8], &[u8]> {
[INFO] [stdout]    |    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `namespace` is never used
[INFO] [stdout]   --> src/parser.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn namespace<'a>(input:&'a [u8]) -> IResult<&'a [u8], &'a [u8]> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]    --> src/parser.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub struct Parser<'a> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ServiceNode` is never constructed
[INFO] [stdout]    --> src/ast.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct ServiceNode {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/ast.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl ServiceNode {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 127 |     pub fn new(name: IdentNode) -> ServiceNode {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FunctionNode` is never constructed
[INFO] [stdout]    --> src/ast.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct FunctionNode {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnumNode` is never constructed
[INFO] [stdout]    --> src/ast.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct EnumNode {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input` and `output` are never read
[INFO] [stdout]   --> src/generator.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Generator {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 10 |     input: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 11 |     output: Option<File>
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 |         write!(w, "pub struct {} {{\n", self.name.0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let _ = write!(w, "pub struct {} {{\n", self.name.0);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |             write!(w, "    ");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 218 |             let _ = write!(w, "    ");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 222 |         write!(w, "}}\n");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let _ = write!(w, "}}\n");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:229:30
[INFO] [stdout]     |
[INFO] [stdout] 229 |             &Ty::String => { write!(w, "String"); },
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 229 |             &Ty::String => { let _ = write!(w, "String"); },
[INFO] [stdout]     |                              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:230:28
[INFO] [stdout]     |
[INFO] [stdout] 230 |             &Ty::Void => { write!(w, "()"); },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 230 |             &Ty::Void => { let _ = write!(w, "()"); },
[INFO] [stdout]     |                            +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:231:28
[INFO] [stdout]     |
[INFO] [stdout] 231 |             &Ty::Byte => { write!(w, "i8"); },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 231 |             &Ty::Byte => { let _ = write!(w, "i8"); },
[INFO] [stdout]     |                            +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:232:30
[INFO] [stdout]     |
[INFO] [stdout] 232 |             &Ty::Binary => { write!(w, "Vec<i8>"); },
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 232 |             &Ty::Binary => { let _ = write!(w, "Vec<i8>"); },
[INFO] [stdout]     |                              +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:233:32
[INFO] [stdout]     |
[INFO] [stdout] 233 |             &Ty::Signed16 => { write!(w, "i16"); },
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 233 |             &Ty::Signed16 => { let _ = write!(w, "i16"); },
[INFO] [stdout]     |                                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:234:32
[INFO] [stdout]     |
[INFO] [stdout] 234 |             &Ty::Signed32 => { write!(w, "i32"); },
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 234 |             &Ty::Signed32 => { let _ = write!(w, "i32"); },
[INFO] [stdout]     |                                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:235:32
[INFO] [stdout]     |
[INFO] [stdout] 235 |             &Ty::Signed64 => { write!(w, "i64"); },
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 235 |             &Ty::Signed64 => { let _ = write!(w, "i64"); },
[INFO] [stdout]     |                                +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:236:28
[INFO] [stdout]     |
[INFO] [stdout] 236 |             &Ty::Bool => { write!(w, "bool"); },
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 236 |             &Ty::Bool => { let _ = write!(w, "bool"); },
[INFO] [stdout]     |                            +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 write!(w, "Vec<");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 let _ = write!(w, "Vec<");
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:240:17
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 write!(w, ">");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 let _ = write!(w, ">");
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:243:17
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 write!(w, "HashMap<");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 let _ = write!(w, "HashMap<");
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |                 write!(w, ", ");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 245 |                 let _ = write!(w, ", ");
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:247:17
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 write!(w, ">");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 let _ = write!(w, ">");
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout] 257 |         write!(w, "{}: ", self.ident.0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 257 |         let _ = write!(w, "{}: ", self.ident.0);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 |             write!(w, "Option<");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 260 |             let _ = write!(w, "Option<");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |             write!(w, ">");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 266 |             let _ = write!(w, ">");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |         write!(w, ",\n");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 269 |         let _ = write!(w, ",\n");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/generator.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         file.read_to_string(&mut input);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let _ = file.read_to_string(&mut input);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]   --> src/bin/thrust.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | #[derive(Debug, RustcDecodable)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Args: Decodable` is not satisfied
[INFO] [stdout]    --> src/bin/thrust.rs:28:45
[INFO] [stdout]     |
[INFO] [stdout]  28 | ...                   .and_then(|d| d.decode())
[INFO] [stdout]     |                                       ^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Decodable` is not implemented for `Args`
[INFO] [stdout]    --> src/bin/thrust.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | struct Args {
[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: there are multiple different versions of crate `thrust` in the dependency graph
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `Docopt::decode`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/docopt-0.6.86/src/dopt.rs:198:58
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl Docopt {
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn decode<D>(&self) -> Result<D, Error> where D: Decodable {
[INFO] [stdout]     |                                                          ^^^^^^^^^ required by this bound in `Docopt::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 `thrust` (bin "thrust") due to 2 previous errors
[INFO] [stderr] warning: unused dependency `byteorder`
[INFO] [stderr]  --> Cargo.toml:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | byteorder = "*"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `byteorder`
[INFO] [stderr] warning: `thrust` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "9c323c7c75be3009760c6f4773d063e2b82a431b60042b2c6642061924e2c91f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c323c7c75be3009760c6f4773d063e2b82a431b60042b2c6642061924e2c91f", kill_on_drop: false }`
[INFO] [stdout] 9c323c7c75be3009760c6f4773d063e2b82a431b60042b2c6642061924e2c91f
