[INFO] fetching crate tokio-thrift-codegen 0.1.0...
[INFO] testing tokio-thrift-codegen-0.1.0 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate tokio-thrift-codegen 0.1.0 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate tokio-thrift-codegen 0.1.0
[INFO] finished tweaking crates.io crate tokio-thrift-codegen 0.1.0
[INFO] tweaked toml for crates.io crate tokio-thrift-codegen 0.1.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tokio-thrift-codegen 0.1.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "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.99.0-beta.8" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 7 packages to highest compatible versions
[INFO] [stderr]       Adding handlebars v0.22.0 (available: v6.4.4)
[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.99.0-beta.8" "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: `tokio-thrift-codegen` (manifest) generated 1 warning
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rustc-serialize v0.3.25
[INFO] [stderr]   Downloaded pest v0.3.3
[INFO] [stderr]   Downloaded nom v1.2.4
[INFO] [stderr]   Downloaded log v0.3.9
[INFO] [stderr]   Downloaded handlebars v0.22.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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] c6f8f1d8e69a182dd02a2274836fce47b8796e8057af79c0ec02e58c93a3d5a5
[INFO] running `Command { std: "docker" "start" "c6f8f1d8e69a182dd02a2274836fce47b8796e8057af79c0ec02e58c93a3d5a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c6f8f1d8e69a182dd02a2274836fce47b8796e8057af79c0ec02e58c93a3d5a5", 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" "c6f8f1d8e69a182dd02a2274836fce47b8796e8057af79c0ec02e58c93a3d5a5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c6f8f1d8e69a182dd02a2274836fce47b8796e8057af79c0ec02e58c93a3d5a5", 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" "c6f8f1d8e69a182dd02a2274836fce47b8796e8057af79c0ec02e58c93a3d5a5" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "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: `tokio-thrift-codegen` (manifest) generated 1 warning
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling rustc-serialize v0.3.25
[INFO] [stderr]    Compiling pest v0.3.3
[INFO] [stderr]    Compiling nom v1.2.4
[INFO] [stderr]    Compiling log v0.3.9
[INFO] [stderr]    Compiling handlebars v0.22.0
[INFO] [stderr]    Compiling tokio-thrift-codegen v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:150:28
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:150:44
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:156:28
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:156:44
[INFO] [stdout]     |
[INFO] [stdout] 156 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:162:28
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:162:44
[INFO] [stdout]     |
[INFO] [stdout] 162 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:173:28
[INFO] [stdout]     |
[INFO] [stdout] 173 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:173:44
[INFO] [stdout]     |
[INFO] [stdout] 173 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:178:28
[INFO] [stdout]     |
[INFO] [stdout] 178 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:178:44
[INFO] [stdout]     |
[INFO] [stdout] 178 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:185:28
[INFO] [stdout]     |
[INFO] [stdout] 185 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:185:44
[INFO] [stdout]     |
[INFO] [stdout] 185 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:194:28
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:194:44
[INFO] [stdout]     |
[INFO] [stdout] 194 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:201:28
[INFO] [stdout]     |
[INFO] [stdout] 201 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:201:44
[INFO] [stdout]     |
[INFO] [stdout] 201 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:208:28
[INFO] [stdout]     |
[INFO] [stdout] 208 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:208:44
[INFO] [stdout]     |
[INFO] [stdout] 208 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:215:28
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:215:44
[INFO] [stdout]     |
[INFO] [stdout] 215 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:221:28
[INFO] [stdout]     |
[INFO] [stdout] 221 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:221:44
[INFO] [stdout]     |
[INFO] [stdout] 221 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:227:28
[INFO] [stdout]     |
[INFO] [stdout] 227 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:227:44
[INFO] [stdout]     |
[INFO] [stdout] 227 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:236:28
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:236:44
[INFO] [stdout]     |
[INFO] [stdout] 236 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:242:28
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:242:44
[INFO] [stdout]     |
[INFO] [stdout] 242 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:249:28
[INFO] [stdout]     |
[INFO] [stdout] 249 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:249:44
[INFO] [stdout]     |
[INFO] [stdout] 249 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcEncodable` in this scope
[INFO] [stdout]    --> src/parser.rs:260:28
[INFO] [stdout]     |
[INFO] [stdout] 260 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `RustcDecodable` in this scope
[INFO] [stdout]    --> src/parser.rs:260:44
[INFO] [stdout]     |
[INFO] [stdout] 260 | #[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 |                     try!(s.emit_enum_variant_arg(0, |s| {
[INFO] [stdout]    |                     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:72:21
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     try!(s.emit_enum_variant_arg(0, |s| {
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     try!(s.emit_enum_variant_arg(0, |s| {
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     try!(s.emit_enum_variant_arg(1, |s| {
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/parser.rs:88:21
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     try!(s.emit_enum_variant_arg(0, |s| {
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:284:1
[INFO] [stdout]     |
[INFO] [stdout] 284 | / named!(document <Document>, chain!(
[INFO] [stdout] 285 | |     blank? ~
[INFO] [stdout] 286 | |         headers: many0!(chain!(h: header ~ blank?, || h)) ~
[INFO] [stdout] 287 | |         defs:  many0!(chain!(d: definition ~ blank?, || d)) ~
[INFO] [stdout] ...   |
[INFO] [stdout] 292 | |         definitions: defs,
[INFO] [stdout] 293 | |     }));
[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: `#[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 `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:284:1
[INFO] [stdout]     |
[INFO] [stdout] 284 | / named!(document <Document>, chain!(
[INFO] [stdout] 285 | |     blank? ~
[INFO] [stdout] 286 | |         headers: many0!(chain!(h: header ~ blank?, || h)) ~
[INFO] [stdout] 287 | |         defs:  many0!(chain!(d: definition ~ blank?, || d)) ~
[INFO] [stdout] ...   |
[INFO] [stdout] 292 | |         definitions: defs,
[INFO] [stdout] 293 | |     }));
[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:284:1
[INFO] [stdout]     |
[INFO] [stdout] 284 | / named!(document <Document>, chain!(
[INFO] [stdout] 285 | |     blank? ~
[INFO] [stdout] 286 | |         headers: many0!(chain!(h: header ~ blank?, || h)) ~
[INFO] [stdout] 287 | |         defs:  many0!(chain!(d: definition ~ blank?, || d)) ~
[INFO] [stdout] ...   |
[INFO] [stdout] 292 | |         definitions: defs,
[INFO] [stdout] 293 | |     }));
[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:284:1
[INFO] [stdout]     |
[INFO] [stdout] 284 | / named!(document <Document>, chain!(
[INFO] [stdout] 285 | |     blank? ~
[INFO] [stdout] 286 | |         headers: many0!(chain!(h: header ~ blank?, || h)) ~
[INFO] [stdout] 287 | |         defs:  many0!(chain!(d: definition ~ blank?, || d)) ~
[INFO] [stdout] ...   |
[INFO] [stdout] 292 | |         definitions: defs,
[INFO] [stdout] 293 | |     }));
[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:284:1
[INFO] [stdout]     |
[INFO] [stdout] 284 | / named!(document <Document>, chain!(
[INFO] [stdout] 285 | |     blank? ~
[INFO] [stdout] 286 | |         headers: many0!(chain!(h: header ~ blank?, || h)) ~
[INFO] [stdout] 287 | |         defs:  many0!(chain!(d: definition ~ blank?, || d)) ~
[INFO] [stdout] ...   |
[INFO] [stdout] 292 | |         definitions: defs,
[INFO] [stdout] 293 | |     }));
[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:284:1
[INFO] [stdout]     |
[INFO] [stdout] 284 | / named!(document <Document>, chain!(
[INFO] [stdout] 285 | |     blank? ~
[INFO] [stdout] 286 | |         headers: many0!(chain!(h: header ~ blank?, || h)) ~
[INFO] [stdout] 287 | |         defs:  many0!(chain!(d: definition ~ blank?, || d)) ~
[INFO] [stdout] ...   |
[INFO] [stdout] 292 | |         definitions: defs,
[INFO] [stdout] 293 | |     }));
[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:295:1
[INFO] [stdout]     |
[INFO] [stdout] 295 | / named!(header <Header>, alt!(
[INFO] [stdout] 296 | |     include    => {Header::Include} |
[INFO] [stdout] 297 | |     namespace  => {Header::Namespace}));
[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:295:1
[INFO] [stdout]     |
[INFO] [stdout] 295 | / named!(header <Header>, alt!(
[INFO] [stdout] 296 | |     include    => {Header::Include} |
[INFO] [stdout] 297 | |     namespace  => {Header::Namespace}));
[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:299:1
[INFO] [stdout]     |
[INFO] [stdout] 299 | / named!(include <Include>, chain!(
[INFO] [stdout] 300 | |     tag!("include") ~ blank ~
[INFO] [stdout] 301 | |         file: literal,
[INFO] [stdout] 302 | |     || Include{
[INFO] [stdout] 303 | |         path: file,
[INFO] [stdout] 304 | |     }));
[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:299:1
[INFO] [stdout]     |
[INFO] [stdout] 299 | / named!(include <Include>, chain!(
[INFO] [stdout] 300 | |     tag!("include") ~ blank ~
[INFO] [stdout] 301 | |         file: literal,
[INFO] [stdout] 302 | |     || Include{
[INFO] [stdout] 303 | |         path: file,
[INFO] [stdout] 304 | |     }));
[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:306:1
[INFO] [stdout]     |
[INFO] [stdout] 306 | / named!(namespace <Namespace>, chain!(
[INFO] [stdout] 307 | |     tag!("namespace") ~ blank ~
[INFO] [stdout] 308 | |         lang: identifier ~ blank ~
[INFO] [stdout] 309 | |         ns: identifier,
[INFO] [stdout] ...   |
[INFO] [stdout] 312 | |         module: ns,
[INFO] [stdout] 313 | |     }));
[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:306:1
[INFO] [stdout]     |
[INFO] [stdout] 306 | / named!(namespace <Namespace>, chain!(
[INFO] [stdout] 307 | |     tag!("namespace") ~ blank ~
[INFO] [stdout] 308 | |         lang: identifier ~ blank ~
[INFO] [stdout] 309 | |         ns: identifier,
[INFO] [stdout] ...   |
[INFO] [stdout] 312 | |         module: ns,
[INFO] [stdout] 313 | |     }));
[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:306:1
[INFO] [stdout]     |
[INFO] [stdout] 306 | / named!(namespace <Namespace>, chain!(
[INFO] [stdout] 307 | |     tag!("namespace") ~ blank ~
[INFO] [stdout] 308 | |         lang: identifier ~ blank ~
[INFO] [stdout] 309 | |         ns: identifier,
[INFO] [stdout] ...   |
[INFO] [stdout] 312 | |         module: ns,
[INFO] [stdout] 313 | |     }));
[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:306:1
[INFO] [stdout]     |
[INFO] [stdout] 306 | / named!(namespace <Namespace>, chain!(
[INFO] [stdout] 307 | |     tag!("namespace") ~ blank ~
[INFO] [stdout] 308 | |         lang: identifier ~ blank ~
[INFO] [stdout] 309 | |         ns: identifier,
[INFO] [stdout] ...   |
[INFO] [stdout] 312 | |         module: ns,
[INFO] [stdout] 313 | |     }));
[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:314:1
[INFO] [stdout]     |
[INFO] [stdout] 314 | / named!(definition <Definition>, alt!(
[INFO] [stdout] 315 | |     const_    => {Definition::Const}|
[INFO] [stdout] 316 | |     typedef   => {Definition::Typedef}|
[INFO] [stdout] 317 | |     enum_     => {Definition::Enum}|
[INFO] [stdout] ...   |
[INFO] [stdout] 320 | |     exception => {Definition::Exception}|
[INFO] [stdout] 321 | |     service   => {Definition::Service}));
[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:314:1
[INFO] [stdout]     |
[INFO] [stdout] 314 | / named!(definition <Definition>, alt!(
[INFO] [stdout] 315 | |     const_    => {Definition::Const}|
[INFO] [stdout] 316 | |     typedef   => {Definition::Typedef}|
[INFO] [stdout] 317 | |     enum_     => {Definition::Enum}|
[INFO] [stdout] ...   |
[INFO] [stdout] 320 | |     exception => {Definition::Exception}|
[INFO] [stdout] 321 | |     service   => {Definition::Service}));
[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:314:1
[INFO] [stdout]     |
[INFO] [stdout] 314 | / named!(definition <Definition>, alt!(
[INFO] [stdout] 315 | |     const_    => {Definition::Const}|
[INFO] [stdout] 316 | |     typedef   => {Definition::Typedef}|
[INFO] [stdout] 317 | |     enum_     => {Definition::Enum}|
[INFO] [stdout] ...   |
[INFO] [stdout] 320 | |     exception => {Definition::Exception}|
[INFO] [stdout] 321 | |     service   => {Definition::Service}));
[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:314:1
[INFO] [stdout]     |
[INFO] [stdout] 314 | / named!(definition <Definition>, alt!(
[INFO] [stdout] 315 | |     const_    => {Definition::Const}|
[INFO] [stdout] 316 | |     typedef   => {Definition::Typedef}|
[INFO] [stdout] 317 | |     enum_     => {Definition::Enum}|
[INFO] [stdout] ...   |
[INFO] [stdout] 320 | |     exception => {Definition::Exception}|
[INFO] [stdout] 321 | |     service   => {Definition::Service}));
[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:314:1
[INFO] [stdout]     |
[INFO] [stdout] 314 | / named!(definition <Definition>, alt!(
[INFO] [stdout] 315 | |     const_    => {Definition::Const}|
[INFO] [stdout] 316 | |     typedef   => {Definition::Typedef}|
[INFO] [stdout] 317 | |     enum_     => {Definition::Enum}|
[INFO] [stdout] ...   |
[INFO] [stdout] 320 | |     exception => {Definition::Exception}|
[INFO] [stdout] 321 | |     service   => {Definition::Service}));
[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:314:1
[INFO] [stdout]     |
[INFO] [stdout] 314 | / named!(definition <Definition>, alt!(
[INFO] [stdout] 315 | |     const_    => {Definition::Const}|
[INFO] [stdout] 316 | |     typedef   => {Definition::Typedef}|
[INFO] [stdout] 317 | |     enum_     => {Definition::Enum}|
[INFO] [stdout] ...   |
[INFO] [stdout] 320 | |     exception => {Definition::Exception}|
[INFO] [stdout] 321 | |     service   => {Definition::Service}));
[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:314:1
[INFO] [stdout]     |
[INFO] [stdout] 314 | / named!(definition <Definition>, alt!(
[INFO] [stdout] 315 | |     const_    => {Definition::Const}|
[INFO] [stdout] 316 | |     typedef   => {Definition::Typedef}|
[INFO] [stdout] 317 | |     enum_     => {Definition::Enum}|
[INFO] [stdout] ...   |
[INFO] [stdout] 320 | |     exception => {Definition::Exception}|
[INFO] [stdout] 321 | |     service   => {Definition::Service}));
[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:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | / named!(const_ <Const>, chain!(
[INFO] [stdout] 324 | |     tag!("const") ~ blank ~
[INFO] [stdout] 325 | |         ty: field_type ~ blank ~
[INFO] [stdout] 326 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |         value: value,
[INFO] [stdout] 334 | |     }));
[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:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | / named!(const_ <Const>, chain!(
[INFO] [stdout] 324 | |     tag!("const") ~ blank ~
[INFO] [stdout] 325 | |         ty: field_type ~ blank ~
[INFO] [stdout] 326 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |         value: value,
[INFO] [stdout] 334 | |     }));
[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:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | / named!(const_ <Const>, chain!(
[INFO] [stdout] 324 | |     tag!("const") ~ blank ~
[INFO] [stdout] 325 | |         ty: field_type ~ blank ~
[INFO] [stdout] 326 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |         value: value,
[INFO] [stdout] 334 | |     }));
[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:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | / named!(const_ <Const>, chain!(
[INFO] [stdout] 324 | |     tag!("const") ~ blank ~
[INFO] [stdout] 325 | |         ty: field_type ~ blank ~
[INFO] [stdout] 326 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |         value: value,
[INFO] [stdout] 334 | |     }));
[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:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | / named!(const_ <Const>, chain!(
[INFO] [stdout] 324 | |     tag!("const") ~ blank ~
[INFO] [stdout] 325 | |         ty: field_type ~ blank ~
[INFO] [stdout] 326 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |         value: value,
[INFO] [stdout] 334 | |     }));
[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:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | / named!(const_ <Const>, chain!(
[INFO] [stdout] 324 | |     tag!("const") ~ blank ~
[INFO] [stdout] 325 | |         ty: field_type ~ blank ~
[INFO] [stdout] 326 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |         value: value,
[INFO] [stdout] 334 | |     }));
[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:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | / named!(const_ <Const>, chain!(
[INFO] [stdout] 324 | |     tag!("const") ~ blank ~
[INFO] [stdout] 325 | |         ty: field_type ~ blank ~
[INFO] [stdout] 326 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |         value: value,
[INFO] [stdout] 334 | |     }));
[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:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | / named!(const_ <Const>, chain!(
[INFO] [stdout] 324 | |     tag!("const") ~ blank ~
[INFO] [stdout] 325 | |         ty: field_type ~ blank ~
[INFO] [stdout] 326 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |         value: value,
[INFO] [stdout] 334 | |     }));
[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:323:1
[INFO] [stdout]     |
[INFO] [stdout] 323 | / named!(const_ <Const>, chain!(
[INFO] [stdout] 324 | |     tag!("const") ~ blank ~
[INFO] [stdout] 325 | |         ty: field_type ~ blank ~
[INFO] [stdout] 326 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |         value: value,
[INFO] [stdout] 334 | |     }));
[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:336:1
[INFO] [stdout]     |
[INFO] [stdout] 336 | / named!(typedef <Typedef>, chain!(
[INFO] [stdout] 337 | |     tag!("typedef") ~ blank ~
[INFO] [stdout] 338 | |         ty: definition_type ~ blank ~
[INFO] [stdout] 339 | |         id: identifier,
[INFO] [stdout] ...   |
[INFO] [stdout] 342 | |         ident: id,
[INFO] [stdout] 343 | |     }));
[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:336:1
[INFO] [stdout]     |
[INFO] [stdout] 336 | / named!(typedef <Typedef>, chain!(
[INFO] [stdout] 337 | |     tag!("typedef") ~ blank ~
[INFO] [stdout] 338 | |         ty: definition_type ~ blank ~
[INFO] [stdout] 339 | |         id: identifier,
[INFO] [stdout] ...   |
[INFO] [stdout] 342 | |         ident: id,
[INFO] [stdout] 343 | |     }));
[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:336:1
[INFO] [stdout]     |
[INFO] [stdout] 336 | / named!(typedef <Typedef>, chain!(
[INFO] [stdout] 337 | |     tag!("typedef") ~ blank ~
[INFO] [stdout] 338 | |         ty: definition_type ~ blank ~
[INFO] [stdout] 339 | |         id: identifier,
[INFO] [stdout] ...   |
[INFO] [stdout] 342 | |         ident: id,
[INFO] [stdout] 343 | |     }));
[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:336:1
[INFO] [stdout]     |
[INFO] [stdout] 336 | / named!(typedef <Typedef>, chain!(
[INFO] [stdout] 337 | |     tag!("typedef") ~ blank ~
[INFO] [stdout] 338 | |         ty: definition_type ~ blank ~
[INFO] [stdout] 339 | |         id: identifier,
[INFO] [stdout] ...   |
[INFO] [stdout] 342 | |         ident: id,
[INFO] [stdout] 343 | |     }));
[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:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | / named!(enum_ <Enum>, chain!(
[INFO] [stdout] 346 | |     tag!("enum") ~ blank ~
[INFO] [stdout] 347 | |         id: identifier ~ blank? ~
[INFO] [stdout] 348 | |         tag!("{") ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 363 | |         variants: variants,
[INFO] [stdout] 364 | |     }));
[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:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | / named!(enum_ <Enum>, chain!(
[INFO] [stdout] 346 | |     tag!("enum") ~ blank ~
[INFO] [stdout] 347 | |         id: identifier ~ blank? ~
[INFO] [stdout] 348 | |         tag!("{") ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 363 | |         variants: variants,
[INFO] [stdout] 364 | |     }));
[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:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | / named!(enum_ <Enum>, chain!(
[INFO] [stdout] 346 | |     tag!("enum") ~ blank ~
[INFO] [stdout] 347 | |         id: identifier ~ blank? ~
[INFO] [stdout] 348 | |         tag!("{") ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 363 | |         variants: variants,
[INFO] [stdout] 364 | |     }));
[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:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | / named!(enum_ <Enum>, chain!(
[INFO] [stdout] 346 | |     tag!("enum") ~ blank ~
[INFO] [stdout] 347 | |         id: identifier ~ blank? ~
[INFO] [stdout] 348 | |         tag!("{") ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 363 | |         variants: variants,
[INFO] [stdout] 364 | |     }));
[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:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | / named!(enum_ <Enum>, chain!(
[INFO] [stdout] 346 | |     tag!("enum") ~ blank ~
[INFO] [stdout] 347 | |         id: identifier ~ blank? ~
[INFO] [stdout] 348 | |         tag!("{") ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 363 | |         variants: variants,
[INFO] [stdout] 364 | |     }));
[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:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | / named!(enum_ <Enum>, chain!(
[INFO] [stdout] 346 | |     tag!("enum") ~ blank ~
[INFO] [stdout] 347 | |         id: identifier ~ blank? ~
[INFO] [stdout] 348 | |         tag!("{") ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 363 | |         variants: variants,
[INFO] [stdout] 364 | |     }));
[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:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | / named!(enum_ <Enum>, chain!(
[INFO] [stdout] 346 | |     tag!("enum") ~ blank ~
[INFO] [stdout] 347 | |         id: identifier ~ blank? ~
[INFO] [stdout] 348 | |         tag!("{") ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 363 | |         variants: variants,
[INFO] [stdout] 364 | |     }));
[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:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | / named!(enum_ <Enum>, chain!(
[INFO] [stdout] 346 | |     tag!("enum") ~ blank ~
[INFO] [stdout] 347 | |         id: identifier ~ blank? ~
[INFO] [stdout] 348 | |         tag!("{") ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 363 | |         variants: variants,
[INFO] [stdout] 364 | |     }));
[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:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | / named!(enum_ <Enum>, chain!(
[INFO] [stdout] 346 | |     tag!("enum") ~ blank ~
[INFO] [stdout] 347 | |         id: identifier ~ blank? ~
[INFO] [stdout] 348 | |         tag!("{") ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 363 | |         variants: variants,
[INFO] [stdout] 364 | |     }));
[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:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | / named!(enum_ <Enum>, chain!(
[INFO] [stdout] 346 | |     tag!("enum") ~ blank ~
[INFO] [stdout] 347 | |         id: identifier ~ blank? ~
[INFO] [stdout] 348 | |         tag!("{") ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 363 | |         variants: variants,
[INFO] [stdout] 364 | |     }));
[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:345:1
[INFO] [stdout]     |
[INFO] [stdout] 345 | / named!(enum_ <Enum>, chain!(
[INFO] [stdout] 346 | |     tag!("enum") ~ blank ~
[INFO] [stdout] 347 | |         id: identifier ~ blank? ~
[INFO] [stdout] 348 | |         tag!("{") ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 363 | |         variants: variants,
[INFO] [stdout] 364 | |     }));
[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:366:1
[INFO] [stdout]     |
[INFO] [stdout] 366 | / named!(struct_ <Struct>, chain!(
[INFO] [stdout] 367 | |     tag!("struct") ~ blank ~
[INFO] [stdout] 368 | |         id: identifier ~ blank? ~
[INFO] [stdout] 369 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 375 | |         fields: fields,
[INFO] [stdout] 376 | |     }));
[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:366:1
[INFO] [stdout]     |
[INFO] [stdout] 366 | / named!(struct_ <Struct>, chain!(
[INFO] [stdout] 367 | |     tag!("struct") ~ blank ~
[INFO] [stdout] 368 | |         id: identifier ~ blank? ~
[INFO] [stdout] 369 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 375 | |         fields: fields,
[INFO] [stdout] 376 | |     }));
[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:366:1
[INFO] [stdout]     |
[INFO] [stdout] 366 | / named!(struct_ <Struct>, chain!(
[INFO] [stdout] 367 | |     tag!("struct") ~ blank ~
[INFO] [stdout] 368 | |         id: identifier ~ blank? ~
[INFO] [stdout] 369 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 375 | |         fields: fields,
[INFO] [stdout] 376 | |     }));
[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:366:1
[INFO] [stdout]     |
[INFO] [stdout] 366 | / named!(struct_ <Struct>, chain!(
[INFO] [stdout] 367 | |     tag!("struct") ~ blank ~
[INFO] [stdout] 368 | |         id: identifier ~ blank? ~
[INFO] [stdout] 369 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 375 | |         fields: fields,
[INFO] [stdout] 376 | |     }));
[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:366:1
[INFO] [stdout]     |
[INFO] [stdout] 366 | / named!(struct_ <Struct>, chain!(
[INFO] [stdout] 367 | |     tag!("struct") ~ blank ~
[INFO] [stdout] 368 | |         id: identifier ~ blank? ~
[INFO] [stdout] 369 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 375 | |         fields: fields,
[INFO] [stdout] 376 | |     }));
[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:366:1
[INFO] [stdout]     |
[INFO] [stdout] 366 | / named!(struct_ <Struct>, chain!(
[INFO] [stdout] 367 | |     tag!("struct") ~ blank ~
[INFO] [stdout] 368 | |         id: identifier ~ blank? ~
[INFO] [stdout] 369 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 375 | |         fields: fields,
[INFO] [stdout] 376 | |     }));
[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:378:1
[INFO] [stdout]     |
[INFO] [stdout] 378 | / named!(union <Union>, chain!(
[INFO] [stdout] 379 | |     tag!("union") ~ blank ~
[INFO] [stdout] 380 | |         id: identifier ~ blank? ~
[INFO] [stdout] 381 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 387 | |         fields: fields,
[INFO] [stdout] 388 | |     }));
[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:378:1
[INFO] [stdout]     |
[INFO] [stdout] 378 | / named!(union <Union>, chain!(
[INFO] [stdout] 379 | |     tag!("union") ~ blank ~
[INFO] [stdout] 380 | |         id: identifier ~ blank? ~
[INFO] [stdout] 381 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 387 | |         fields: fields,
[INFO] [stdout] 388 | |     }));
[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:378:1
[INFO] [stdout]     |
[INFO] [stdout] 378 | / named!(union <Union>, chain!(
[INFO] [stdout] 379 | |     tag!("union") ~ blank ~
[INFO] [stdout] 380 | |         id: identifier ~ blank? ~
[INFO] [stdout] 381 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 387 | |         fields: fields,
[INFO] [stdout] 388 | |     }));
[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:378:1
[INFO] [stdout]     |
[INFO] [stdout] 378 | / named!(union <Union>, chain!(
[INFO] [stdout] 379 | |     tag!("union") ~ blank ~
[INFO] [stdout] 380 | |         id: identifier ~ blank? ~
[INFO] [stdout] 381 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 387 | |         fields: fields,
[INFO] [stdout] 388 | |     }));
[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:378:1
[INFO] [stdout]     |
[INFO] [stdout] 378 | / named!(union <Union>, chain!(
[INFO] [stdout] 379 | |     tag!("union") ~ blank ~
[INFO] [stdout] 380 | |         id: identifier ~ blank? ~
[INFO] [stdout] 381 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 387 | |         fields: fields,
[INFO] [stdout] 388 | |     }));
[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:378:1
[INFO] [stdout]     |
[INFO] [stdout] 378 | / named!(union <Union>, chain!(
[INFO] [stdout] 379 | |     tag!("union") ~ blank ~
[INFO] [stdout] 380 | |         id: identifier ~ blank? ~
[INFO] [stdout] 381 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 387 | |         fields: fields,
[INFO] [stdout] 388 | |     }));
[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:390:1
[INFO] [stdout]     |
[INFO] [stdout] 390 | / named!(exception <Exception>, chain!(
[INFO] [stdout] 391 | |     tag!("exception") ~ blank ~
[INFO] [stdout] 392 | |         id: identifier ~ blank? ~
[INFO] [stdout] 393 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 399 | |         fields: fields,
[INFO] [stdout] 400 | |     }));
[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:390:1
[INFO] [stdout]     |
[INFO] [stdout] 390 | / named!(exception <Exception>, chain!(
[INFO] [stdout] 391 | |     tag!("exception") ~ blank ~
[INFO] [stdout] 392 | |         id: identifier ~ blank? ~
[INFO] [stdout] 393 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 399 | |         fields: fields,
[INFO] [stdout] 400 | |     }));
[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:390:1
[INFO] [stdout]     |
[INFO] [stdout] 390 | / named!(exception <Exception>, chain!(
[INFO] [stdout] 391 | |     tag!("exception") ~ blank ~
[INFO] [stdout] 392 | |         id: identifier ~ blank? ~
[INFO] [stdout] 393 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 399 | |         fields: fields,
[INFO] [stdout] 400 | |     }));
[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:390:1
[INFO] [stdout]     |
[INFO] [stdout] 390 | / named!(exception <Exception>, chain!(
[INFO] [stdout] 391 | |     tag!("exception") ~ blank ~
[INFO] [stdout] 392 | |         id: identifier ~ blank? ~
[INFO] [stdout] 393 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 399 | |         fields: fields,
[INFO] [stdout] 400 | |     }));
[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:390:1
[INFO] [stdout]     |
[INFO] [stdout] 390 | / named!(exception <Exception>, chain!(
[INFO] [stdout] 391 | |     tag!("exception") ~ blank ~
[INFO] [stdout] 392 | |         id: identifier ~ blank? ~
[INFO] [stdout] 393 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 399 | |         fields: fields,
[INFO] [stdout] 400 | |     }));
[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:390:1
[INFO] [stdout]     |
[INFO] [stdout] 390 | / named!(exception <Exception>, chain!(
[INFO] [stdout] 391 | |     tag!("exception") ~ blank ~
[INFO] [stdout] 392 | |         id: identifier ~ blank? ~
[INFO] [stdout] 393 | |         tag!("{") ~
[INFO] [stdout] ...   |
[INFO] [stdout] 399 | |         fields: fields,
[INFO] [stdout] 400 | |     }));
[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:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | / named!(service <Service>, chain!(
[INFO] [stdout] 403 | |     tag!("service")  ~ blank ~
[INFO] [stdout] 404 | |         id: identifier ~ blank? ~
[INFO] [stdout] 405 | |         ext: chain!(tag!("extends") ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 414 | |         methods: functions,
[INFO] [stdout] 415 | |     }));
[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:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | / named!(service <Service>, chain!(
[INFO] [stdout] 403 | |     tag!("service")  ~ blank ~
[INFO] [stdout] 404 | |         id: identifier ~ blank? ~
[INFO] [stdout] 405 | |         ext: chain!(tag!("extends") ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 414 | |         methods: functions,
[INFO] [stdout] 415 | |     }));
[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:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | / named!(service <Service>, chain!(
[INFO] [stdout] 403 | |     tag!("service")  ~ blank ~
[INFO] [stdout] 404 | |         id: identifier ~ blank? ~
[INFO] [stdout] 405 | |         ext: chain!(tag!("extends") ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 414 | |         methods: functions,
[INFO] [stdout] 415 | |     }));
[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:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | / named!(service <Service>, chain!(
[INFO] [stdout] 403 | |     tag!("service")  ~ blank ~
[INFO] [stdout] 404 | |         id: identifier ~ blank? ~
[INFO] [stdout] 405 | |         ext: chain!(tag!("extends") ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 414 | |         methods: functions,
[INFO] [stdout] 415 | |     }));
[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:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | / named!(service <Service>, chain!(
[INFO] [stdout] 403 | |     tag!("service")  ~ blank ~
[INFO] [stdout] 404 | |         id: identifier ~ blank? ~
[INFO] [stdout] 405 | |         ext: chain!(tag!("extends") ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 414 | |         methods: functions,
[INFO] [stdout] 415 | |     }));
[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:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | / named!(service <Service>, chain!(
[INFO] [stdout] 403 | |     tag!("service")  ~ blank ~
[INFO] [stdout] 404 | |         id: identifier ~ blank? ~
[INFO] [stdout] 405 | |         ext: chain!(tag!("extends") ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 414 | |         methods: functions,
[INFO] [stdout] 415 | |     }));
[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:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | / named!(service <Service>, chain!(
[INFO] [stdout] 403 | |     tag!("service")  ~ blank ~
[INFO] [stdout] 404 | |         id: identifier ~ blank? ~
[INFO] [stdout] 405 | |         ext: chain!(tag!("extends") ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 414 | |         methods: functions,
[INFO] [stdout] 415 | |     }));
[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:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | / named!(service <Service>, chain!(
[INFO] [stdout] 403 | |     tag!("service")  ~ blank ~
[INFO] [stdout] 404 | |         id: identifier ~ blank? ~
[INFO] [stdout] 405 | |         ext: chain!(tag!("extends") ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 414 | |         methods: functions,
[INFO] [stdout] 415 | |     }));
[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:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | / named!(service <Service>, chain!(
[INFO] [stdout] 403 | |     tag!("service")  ~ blank ~
[INFO] [stdout] 404 | |         id: identifier ~ blank? ~
[INFO] [stdout] 405 | |         ext: chain!(tag!("extends") ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 414 | |         methods: functions,
[INFO] [stdout] 415 | |     }));
[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:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | / named!(field <StructField>, chain!(
[INFO] [stdout] 418 | |     idx: chain!(idx: field_id ~  blank?, || idx)? ~
[INFO] [stdout] 419 | |         req: chain!(req: field_req ~ blank, || req)? ~
[INFO] [stdout] 420 | |         ty: field_type ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |         value: value,
[INFO] [stdout] 433 | |     }));
[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:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | / named!(field <StructField>, chain!(
[INFO] [stdout] 418 | |     idx: chain!(idx: field_id ~  blank?, || idx)? ~
[INFO] [stdout] 419 | |         req: chain!(req: field_req ~ blank, || req)? ~
[INFO] [stdout] 420 | |         ty: field_type ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |         value: value,
[INFO] [stdout] 433 | |     }));
[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:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | / named!(field <StructField>, chain!(
[INFO] [stdout] 418 | |     idx: chain!(idx: field_id ~  blank?, || idx)? ~
[INFO] [stdout] 419 | |         req: chain!(req: field_req ~ blank, || req)? ~
[INFO] [stdout] 420 | |         ty: field_type ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |         value: value,
[INFO] [stdout] 433 | |     }));
[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:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | / named!(field <StructField>, chain!(
[INFO] [stdout] 418 | |     idx: chain!(idx: field_id ~  blank?, || idx)? ~
[INFO] [stdout] 419 | |         req: chain!(req: field_req ~ blank, || req)? ~
[INFO] [stdout] 420 | |         ty: field_type ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |         value: value,
[INFO] [stdout] 433 | |     }));
[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:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | / named!(field <StructField>, chain!(
[INFO] [stdout] 418 | |     idx: chain!(idx: field_id ~  blank?, || idx)? ~
[INFO] [stdout] 419 | |         req: chain!(req: field_req ~ blank, || req)? ~
[INFO] [stdout] 420 | |         ty: field_type ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |         value: value,
[INFO] [stdout] 433 | |     }));
[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:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | / named!(field <StructField>, chain!(
[INFO] [stdout] 418 | |     idx: chain!(idx: field_id ~  blank?, || idx)? ~
[INFO] [stdout] 419 | |         req: chain!(req: field_req ~ blank, || req)? ~
[INFO] [stdout] 420 | |         ty: field_type ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |         value: value,
[INFO] [stdout] 433 | |     }));
[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:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | / named!(field <StructField>, chain!(
[INFO] [stdout] 418 | |     idx: chain!(idx: field_id ~  blank?, || idx)? ~
[INFO] [stdout] 419 | |         req: chain!(req: field_req ~ blank, || req)? ~
[INFO] [stdout] 420 | |         ty: field_type ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |         value: value,
[INFO] [stdout] 433 | |     }));
[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:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | / named!(field <StructField>, chain!(
[INFO] [stdout] 418 | |     idx: chain!(idx: field_id ~  blank?, || idx)? ~
[INFO] [stdout] 419 | |         req: chain!(req: field_req ~ blank, || req)? ~
[INFO] [stdout] 420 | |         ty: field_type ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |         value: value,
[INFO] [stdout] 433 | |     }));
[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:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | / named!(field <StructField>, chain!(
[INFO] [stdout] 418 | |     idx: chain!(idx: field_id ~  blank?, || idx)? ~
[INFO] [stdout] 419 | |         req: chain!(req: field_req ~ blank, || req)? ~
[INFO] [stdout] 420 | |         ty: field_type ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |         value: value,
[INFO] [stdout] 433 | |     }));
[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:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | / named!(field <StructField>, chain!(
[INFO] [stdout] 418 | |     idx: chain!(idx: field_id ~  blank?, || idx)? ~
[INFO] [stdout] 419 | |         req: chain!(req: field_req ~ blank, || req)? ~
[INFO] [stdout] 420 | |         ty: field_type ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |         value: value,
[INFO] [stdout] 433 | |     }));
[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:417:1
[INFO] [stdout]     |
[INFO] [stdout] 417 | / named!(field <StructField>, chain!(
[INFO] [stdout] 418 | |     idx: chain!(idx: field_id ~  blank?, || idx)? ~
[INFO] [stdout] 419 | |         req: chain!(req: field_req ~ blank, || req)? ~
[INFO] [stdout] 420 | |         ty: field_type ~ blank ~
[INFO] [stdout] ...   |
[INFO] [stdout] 432 | |         value: value,
[INFO] [stdout] 433 | |     }));
[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:435:1
[INFO] [stdout]     |
[INFO] [stdout] 435 | named!(field_id <i64>, chain!(id: int_constant ~ blank? ~ tag!(":"), || id));
[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:435:1
[INFO] [stdout]     |
[INFO] [stdout] 435 | named!(field_id <i64>, chain!(id: int_constant ~ blank? ~ tag!(":"), || id));
[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:441:1
[INFO] [stdout]     |
[INFO] [stdout] 441 | / named!(function <ServiceMethod>, chain!(
[INFO] [stdout] 442 | |     oneway: chain!(tag!("oneway") ~ blank?, ||())? ~
[INFO] [stdout] 443 | |         ty: function_type ~ blank ~
[INFO] [stdout] 444 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 458 | |             throws: throws,
[INFO] [stdout] 459 | |         }}));
[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:441:1
[INFO] [stdout]     |
[INFO] [stdout] 441 | / named!(function <ServiceMethod>, chain!(
[INFO] [stdout] 442 | |     oneway: chain!(tag!("oneway") ~ blank?, ||())? ~
[INFO] [stdout] 443 | |         ty: function_type ~ blank ~
[INFO] [stdout] 444 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 458 | |             throws: throws,
[INFO] [stdout] 459 | |         }}));
[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:441:1
[INFO] [stdout]     |
[INFO] [stdout] 441 | / named!(function <ServiceMethod>, chain!(
[INFO] [stdout] 442 | |     oneway: chain!(tag!("oneway") ~ blank?, ||())? ~
[INFO] [stdout] 443 | |         ty: function_type ~ blank ~
[INFO] [stdout] 444 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 458 | |             throws: throws,
[INFO] [stdout] 459 | |         }}));
[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:441:1
[INFO] [stdout]     |
[INFO] [stdout] 441 | / named!(function <ServiceMethod>, chain!(
[INFO] [stdout] 442 | |     oneway: chain!(tag!("oneway") ~ blank?, ||())? ~
[INFO] [stdout] 443 | |         ty: function_type ~ blank ~
[INFO] [stdout] 444 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 458 | |             throws: throws,
[INFO] [stdout] 459 | |         }}));
[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:441:1
[INFO] [stdout]     |
[INFO] [stdout] 441 | / named!(function <ServiceMethod>, chain!(
[INFO] [stdout] 442 | |     oneway: chain!(tag!("oneway") ~ blank?, ||())? ~
[INFO] [stdout] 443 | |         ty: function_type ~ blank ~
[INFO] [stdout] 444 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 458 | |             throws: throws,
[INFO] [stdout] 459 | |         }}));
[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:441:1
[INFO] [stdout]     |
[INFO] [stdout] 441 | / named!(function <ServiceMethod>, chain!(
[INFO] [stdout] 442 | |     oneway: chain!(tag!("oneway") ~ blank?, ||())? ~
[INFO] [stdout] 443 | |         ty: function_type ~ blank ~
[INFO] [stdout] 444 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 458 | |             throws: throws,
[INFO] [stdout] 459 | |         }}));
[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:441:1
[INFO] [stdout]     |
[INFO] [stdout] 441 | / named!(function <ServiceMethod>, chain!(
[INFO] [stdout] 442 | |     oneway: chain!(tag!("oneway") ~ blank?, ||())? ~
[INFO] [stdout] 443 | |         ty: function_type ~ blank ~
[INFO] [stdout] 444 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 458 | |             throws: throws,
[INFO] [stdout] 459 | |         }}));
[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:441:1
[INFO] [stdout]     |
[INFO] [stdout] 441 | / named!(function <ServiceMethod>, chain!(
[INFO] [stdout] 442 | |     oneway: chain!(tag!("oneway") ~ blank?, ||())? ~
[INFO] [stdout] 443 | |         ty: function_type ~ blank ~
[INFO] [stdout] 444 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 458 | |             throws: throws,
[INFO] [stdout] 459 | |         }}));
[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:441:1
[INFO] [stdout]     |
[INFO] [stdout] 441 | / named!(function <ServiceMethod>, chain!(
[INFO] [stdout] 442 | |     oneway: chain!(tag!("oneway") ~ blank?, ||())? ~
[INFO] [stdout] 443 | |         ty: function_type ~ blank ~
[INFO] [stdout] 444 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 458 | |             throws: throws,
[INFO] [stdout] 459 | |         }}));
[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:441:1
[INFO] [stdout]     |
[INFO] [stdout] 441 | / named!(function <ServiceMethod>, chain!(
[INFO] [stdout] 442 | |     oneway: chain!(tag!("oneway") ~ blank?, ||())? ~
[INFO] [stdout] 443 | |         ty: function_type ~ blank ~
[INFO] [stdout] 444 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 458 | |             throws: throws,
[INFO] [stdout] 459 | |         }}));
[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:441:1
[INFO] [stdout]     |
[INFO] [stdout] 441 | / named!(function <ServiceMethod>, chain!(
[INFO] [stdout] 442 | |     oneway: chain!(tag!("oneway") ~ blank?, ||())? ~
[INFO] [stdout] 443 | |         ty: function_type ~ blank ~
[INFO] [stdout] 444 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 458 | |             throws: throws,
[INFO] [stdout] 459 | |         }}));
[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:441:1
[INFO] [stdout]     |
[INFO] [stdout] 441 | / named!(function <ServiceMethod>, chain!(
[INFO] [stdout] 442 | |     oneway: chain!(tag!("oneway") ~ blank?, ||())? ~
[INFO] [stdout] 443 | |         ty: function_type ~ blank ~
[INFO] [stdout] 444 | |         id: identifier ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 458 | |             throws: throws,
[INFO] [stdout] 459 | |         }}));
[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:461:1
[INFO] [stdout]     |
[INFO] [stdout] 461 | / named!(function_type <Ty>, alt!(
[INFO] [stdout] 462 | |     tag!("void") => {|_| Ty::Void} |
[INFO] [stdout] 463 | |     field_type));
[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:465:1
[INFO] [stdout]     |
[INFO] [stdout] 465 | / named!(throws < Vec<StructField> >, chain!(
[INFO] [stdout] 466 | |     tag!("throws") ~ blank? ~
[INFO] [stdout] 467 | |         tag!("(") ~ blank? ~
[INFO] [stdout] 468 | |         fields: many0!(chain!(f: field ~ blank?, || f)) ~
[INFO] [stdout] 469 | |         tag!(")"),
[INFO] [stdout] 470 | |     || fields));
[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:465:1
[INFO] [stdout]     |
[INFO] [stdout] 465 | / named!(throws < Vec<StructField> >, chain!(
[INFO] [stdout] 466 | |     tag!("throws") ~ blank? ~
[INFO] [stdout] 467 | |         tag!("(") ~ blank? ~
[INFO] [stdout] 468 | |         fields: many0!(chain!(f: field ~ blank?, || f)) ~
[INFO] [stdout] 469 | |         tag!(")"),
[INFO] [stdout] 470 | |     || fields));
[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:465:1
[INFO] [stdout]     |
[INFO] [stdout] 465 | / named!(throws < Vec<StructField> >, chain!(
[INFO] [stdout] 466 | |     tag!("throws") ~ blank? ~
[INFO] [stdout] 467 | |         tag!("(") ~ blank? ~
[INFO] [stdout] 468 | |         fields: many0!(chain!(f: field ~ blank?, || f)) ~
[INFO] [stdout] 469 | |         tag!(")"),
[INFO] [stdout] 470 | |     || fields));
[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:465:1
[INFO] [stdout]     |
[INFO] [stdout] 465 | / named!(throws < Vec<StructField> >, chain!(
[INFO] [stdout] 466 | |     tag!("throws") ~ blank? ~
[INFO] [stdout] 467 | |         tag!("(") ~ blank? ~
[INFO] [stdout] 468 | |         fields: many0!(chain!(f: field ~ blank?, || f)) ~
[INFO] [stdout] 469 | |         tag!(")"),
[INFO] [stdout] 470 | |     || fields));
[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:472:1
[INFO] [stdout]     |
[INFO] [stdout] 472 | / named!(field_type <Ty>, alt!(
[INFO] [stdout] 473 | |     base_type |
[INFO] [stdout] 474 | |     container_type |
[INFO] [stdout] 475 | |     identifier => {|i| Ty::Ident(i)}));
[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:472:1
[INFO] [stdout]     |
[INFO] [stdout] 472 | / named!(field_type <Ty>, alt!(
[INFO] [stdout] 473 | |     base_type |
[INFO] [stdout] 474 | |     container_type |
[INFO] [stdout] 475 | |     identifier => {|i| Ty::Ident(i)}));
[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:472:1
[INFO] [stdout]     |
[INFO] [stdout] 472 | / named!(field_type <Ty>, alt!(
[INFO] [stdout] 473 | |     base_type |
[INFO] [stdout] 474 | |     container_type |
[INFO] [stdout] 475 | |     identifier => {|i| Ty::Ident(i)}));
[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:477:1
[INFO] [stdout]     |
[INFO] [stdout] 477 | / named!(definition_type <Ty>, alt!(
[INFO] [stdout] 478 | |     base_type |
[INFO] [stdout] 479 | |     container_type));
[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:477:1
[INFO] [stdout]     |
[INFO] [stdout] 477 | / named!(definition_type <Ty>, alt!(
[INFO] [stdout] 478 | |     base_type |
[INFO] [stdout] 479 | |     container_type));
[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:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | named!(container_type <Ty>, alt!(map_type | set_type | list_type));
[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:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | named!(container_type <Ty>, alt!(map_type | set_type | list_type));
[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:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | named!(container_type <Ty>, alt!(map_type | set_type | list_type));
[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:494:1
[INFO] [stdout]     |
[INFO] [stdout] 494 | / named!(map_type <Ty>, chain!(
[INFO] [stdout] 495 | |     tag!("map") ~ blank? ~
[INFO] [stdout] 496 | |         tag!("<") ~ blank? ~
[INFO] [stdout] 497 | |         k: field_type ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 500 | |         tag!(">"),
[INFO] [stdout] 501 | |     || Ty::Map(Box::new(k), Box::new(v))));
[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:494:1
[INFO] [stdout]     |
[INFO] [stdout] 494 | / named!(map_type <Ty>, chain!(
[INFO] [stdout] 495 | |     tag!("map") ~ blank? ~
[INFO] [stdout] 496 | |         tag!("<") ~ blank? ~
[INFO] [stdout] 497 | |         k: field_type ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 500 | |         tag!(">"),
[INFO] [stdout] 501 | |     || Ty::Map(Box::new(k), Box::new(v))));
[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:494:1
[INFO] [stdout]     |
[INFO] [stdout] 494 | / named!(map_type <Ty>, chain!(
[INFO] [stdout] 495 | |     tag!("map") ~ blank? ~
[INFO] [stdout] 496 | |         tag!("<") ~ blank? ~
[INFO] [stdout] 497 | |         k: field_type ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 500 | |         tag!(">"),
[INFO] [stdout] 501 | |     || Ty::Map(Box::new(k), Box::new(v))));
[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:494:1
[INFO] [stdout]     |
[INFO] [stdout] 494 | / named!(map_type <Ty>, chain!(
[INFO] [stdout] 495 | |     tag!("map") ~ blank? ~
[INFO] [stdout] 496 | |         tag!("<") ~ blank? ~
[INFO] [stdout] 497 | |         k: field_type ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 500 | |         tag!(">"),
[INFO] [stdout] 501 | |     || Ty::Map(Box::new(k), Box::new(v))));
[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:494:1
[INFO] [stdout]     |
[INFO] [stdout] 494 | / named!(map_type <Ty>, chain!(
[INFO] [stdout] 495 | |     tag!("map") ~ blank? ~
[INFO] [stdout] 496 | |         tag!("<") ~ blank? ~
[INFO] [stdout] 497 | |         k: field_type ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 500 | |         tag!(">"),
[INFO] [stdout] 501 | |     || Ty::Map(Box::new(k), Box::new(v))));
[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:494:1
[INFO] [stdout]     |
[INFO] [stdout] 494 | / named!(map_type <Ty>, chain!(
[INFO] [stdout] 495 | |     tag!("map") ~ blank? ~
[INFO] [stdout] 496 | |         tag!("<") ~ blank? ~
[INFO] [stdout] 497 | |         k: field_type ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 500 | |         tag!(">"),
[INFO] [stdout] 501 | |     || Ty::Map(Box::new(k), Box::new(v))));
[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:494:1
[INFO] [stdout]     |
[INFO] [stdout] 494 | / named!(map_type <Ty>, chain!(
[INFO] [stdout] 495 | |     tag!("map") ~ blank? ~
[INFO] [stdout] 496 | |         tag!("<") ~ blank? ~
[INFO] [stdout] 497 | |         k: field_type ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 500 | |         tag!(">"),
[INFO] [stdout] 501 | |     || Ty::Map(Box::new(k), Box::new(v))));
[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:503:1
[INFO] [stdout]     |
[INFO] [stdout] 503 | / named!(set_type <Ty>, chain!(
[INFO] [stdout] 504 | |     tag!("set") ~ blank? ~
[INFO] [stdout] 505 | |         tag!("<")  ~ blank? ~
[INFO] [stdout] 506 | |         v: field_type ~ blank?
[INFO] [stdout] 507 | |     ~ tag!(">"),
[INFO] [stdout] 508 | |     || Ty::Set(Box::new(v))));
[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:503:1
[INFO] [stdout]     |
[INFO] [stdout] 503 | / named!(set_type <Ty>, chain!(
[INFO] [stdout] 504 | |     tag!("set") ~ blank? ~
[INFO] [stdout] 505 | |         tag!("<")  ~ blank? ~
[INFO] [stdout] 506 | |         v: field_type ~ blank?
[INFO] [stdout] 507 | |     ~ tag!(">"),
[INFO] [stdout] 508 | |     || Ty::Set(Box::new(v))));
[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:503:1
[INFO] [stdout]     |
[INFO] [stdout] 503 | / named!(set_type <Ty>, chain!(
[INFO] [stdout] 504 | |     tag!("set") ~ blank? ~
[INFO] [stdout] 505 | |         tag!("<")  ~ blank? ~
[INFO] [stdout] 506 | |         v: field_type ~ blank?
[INFO] [stdout] 507 | |     ~ tag!(">"),
[INFO] [stdout] 508 | |     || Ty::Set(Box::new(v))));
[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:503:1
[INFO] [stdout]     |
[INFO] [stdout] 503 | / named!(set_type <Ty>, chain!(
[INFO] [stdout] 504 | |     tag!("set") ~ blank? ~
[INFO] [stdout] 505 | |         tag!("<")  ~ blank? ~
[INFO] [stdout] 506 | |         v: field_type ~ blank?
[INFO] [stdout] 507 | |     ~ tag!(">"),
[INFO] [stdout] 508 | |     || Ty::Set(Box::new(v))));
[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:510:1
[INFO] [stdout]     |
[INFO] [stdout] 510 | / named!(list_type <Ty>, chain!(
[INFO] [stdout] 511 | |     tag!("list") ~ blank? ~
[INFO] [stdout] 512 | |         tag!("<")  ~ blank? ~
[INFO] [stdout] 513 | |         v: field_type ~ blank?
[INFO] [stdout] 514 | |     ~ tag!(">"),
[INFO] [stdout] 515 | |     || Ty::List(Box::new(v))));
[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:510:1
[INFO] [stdout]     |
[INFO] [stdout] 510 | / named!(list_type <Ty>, chain!(
[INFO] [stdout] 511 | |     tag!("list") ~ blank? ~
[INFO] [stdout] 512 | |         tag!("<")  ~ blank? ~
[INFO] [stdout] 513 | |         v: field_type ~ blank?
[INFO] [stdout] 514 | |     ~ tag!(">"),
[INFO] [stdout] 515 | |     || Ty::List(Box::new(v))));
[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:510:1
[INFO] [stdout]     |
[INFO] [stdout] 510 | / named!(list_type <Ty>, chain!(
[INFO] [stdout] 511 | |     tag!("list") ~ blank? ~
[INFO] [stdout] 512 | |         tag!("<")  ~ blank? ~
[INFO] [stdout] 513 | |         v: field_type ~ blank?
[INFO] [stdout] 514 | |     ~ tag!(">"),
[INFO] [stdout] 515 | |     || Ty::List(Box::new(v))));
[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:510:1
[INFO] [stdout]     |
[INFO] [stdout] 510 | / named!(list_type <Ty>, chain!(
[INFO] [stdout] 511 | |     tag!("list") ~ blank? ~
[INFO] [stdout] 512 | |         tag!("<")  ~ blank? ~
[INFO] [stdout] 513 | |         v: field_type ~ blank?
[INFO] [stdout] 514 | |     ~ tag!(">"),
[INFO] [stdout] 515 | |     || Ty::List(Box::new(v))));
[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:517:1
[INFO] [stdout]     |
[INFO] [stdout] 517 | / named!(const_value <ConstValue>, alt!(
[INFO] [stdout] 518 | |     double_constant => {ConstValue::Double} |
[INFO] [stdout] 519 | |     int_constant    => {ConstValue::Int} |
[INFO] [stdout] 520 | |     literal         => {ConstValue::String} |
[INFO] [stdout] 521 | |     identifier      => {|_| panic!("identifier not supported")} |
[INFO] [stdout] 522 | |     const_list |
[INFO] [stdout] 523 | |     const_map));
[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:517:1
[INFO] [stdout]     |
[INFO] [stdout] 517 | / named!(const_value <ConstValue>, alt!(
[INFO] [stdout] 518 | |     double_constant => {ConstValue::Double} |
[INFO] [stdout] 519 | |     int_constant    => {ConstValue::Int} |
[INFO] [stdout] 520 | |     literal         => {ConstValue::String} |
[INFO] [stdout] 521 | |     identifier      => {|_| panic!("identifier not supported")} |
[INFO] [stdout] 522 | |     const_list |
[INFO] [stdout] 523 | |     const_map));
[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:517:1
[INFO] [stdout]     |
[INFO] [stdout] 517 | / named!(const_value <ConstValue>, alt!(
[INFO] [stdout] 518 | |     double_constant => {ConstValue::Double} |
[INFO] [stdout] 519 | |     int_constant    => {ConstValue::Int} |
[INFO] [stdout] 520 | |     literal         => {ConstValue::String} |
[INFO] [stdout] 521 | |     identifier      => {|_| panic!("identifier not supported")} |
[INFO] [stdout] 522 | |     const_list |
[INFO] [stdout] 523 | |     const_map));
[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:517:1
[INFO] [stdout]     |
[INFO] [stdout] 517 | / named!(const_value <ConstValue>, alt!(
[INFO] [stdout] 518 | |     double_constant => {ConstValue::Double} |
[INFO] [stdout] 519 | |     int_constant    => {ConstValue::Int} |
[INFO] [stdout] 520 | |     literal         => {ConstValue::String} |
[INFO] [stdout] 521 | |     identifier      => {|_| panic!("identifier not supported")} |
[INFO] [stdout] 522 | |     const_list |
[INFO] [stdout] 523 | |     const_map));
[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:517:1
[INFO] [stdout]     |
[INFO] [stdout] 517 | / named!(const_value <ConstValue>, alt!(
[INFO] [stdout] 518 | |     double_constant => {ConstValue::Double} |
[INFO] [stdout] 519 | |     int_constant    => {ConstValue::Int} |
[INFO] [stdout] 520 | |     literal         => {ConstValue::String} |
[INFO] [stdout] 521 | |     identifier      => {|_| panic!("identifier not supported")} |
[INFO] [stdout] 522 | |     const_list |
[INFO] [stdout] 523 | |     const_map));
[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:517:1
[INFO] [stdout]     |
[INFO] [stdout] 517 | / named!(const_value <ConstValue>, alt!(
[INFO] [stdout] 518 | |     double_constant => {ConstValue::Double} |
[INFO] [stdout] 519 | |     int_constant    => {ConstValue::Int} |
[INFO] [stdout] 520 | |     literal         => {ConstValue::String} |
[INFO] [stdout] 521 | |     identifier      => {|_| panic!("identifier not supported")} |
[INFO] [stdout] 522 | |     const_list |
[INFO] [stdout] 523 | |     const_map));
[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:525:1
[INFO] [stdout]     |
[INFO] [stdout] 525 | / named!(int_constant <i64>, chain!
[INFO] [stdout] 526 | |        (sgn: sgn? ~ n: map_res!(digit, from_utf8),
[INFO] [stdout] 527 | |         || format!("{}{}", sgn.unwrap_or(""), n).parse::<i64>().unwrap()));
[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:525:1
[INFO] [stdout]     |
[INFO] [stdout] 525 | / named!(int_constant <i64>, chain!
[INFO] [stdout] 526 | |        (sgn: sgn? ~ n: map_res!(digit, from_utf8),
[INFO] [stdout] 527 | |         || format!("{}{}", sgn.unwrap_or(""), n).parse::<i64>().unwrap()));
[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:530:1
[INFO] [stdout]     |
[INFO] [stdout] 530 | / named!(double_constant <f64>, chain!(
[INFO] [stdout] 531 | |     // frac exists
[INFO] [stdout] 532 | |     sgn: sgn? ~
[INFO] [stdout] 533 | |         n: map_res!(digit, from_utf8) ~
[INFO] [stdout] ...   |
[INFO] [stdout] 551 | |         f
[INFO] [stdout] 552 | |     }));
[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:530:1
[INFO] [stdout]     |
[INFO] [stdout] 530 | / named!(double_constant <f64>, chain!(
[INFO] [stdout] 531 | |     // frac exists
[INFO] [stdout] 532 | |     sgn: sgn? ~
[INFO] [stdout] 533 | |         n: map_res!(digit, from_utf8) ~
[INFO] [stdout] ...   |
[INFO] [stdout] 551 | |         f
[INFO] [stdout] 552 | |     }));
[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:530:1
[INFO] [stdout]     |
[INFO] [stdout] 530 | / named!(double_constant <f64>, chain!(
[INFO] [stdout] 531 | |     // frac exists
[INFO] [stdout] 532 | |     sgn: sgn? ~
[INFO] [stdout] 533 | |         n: map_res!(digit, from_utf8) ~
[INFO] [stdout] ...   |
[INFO] [stdout] 551 | |         f
[INFO] [stdout] 552 | |     }));
[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:530:1
[INFO] [stdout]     |
[INFO] [stdout] 530 | / named!(double_constant <f64>, chain!(
[INFO] [stdout] 531 | |     // frac exists
[INFO] [stdout] 532 | |     sgn: sgn? ~
[INFO] [stdout] 533 | |         n: map_res!(digit, from_utf8) ~
[INFO] [stdout] ...   |
[INFO] [stdout] 551 | |         f
[INFO] [stdout] 552 | |     }));
[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:530:1
[INFO] [stdout]     |
[INFO] [stdout] 530 | / named!(double_constant <f64>, chain!(
[INFO] [stdout] 531 | |     // frac exists
[INFO] [stdout] 532 | |     sgn: sgn? ~
[INFO] [stdout] 533 | |         n: map_res!(digit, from_utf8) ~
[INFO] [stdout] ...   |
[INFO] [stdout] 551 | |         f
[INFO] [stdout] 552 | |     }));
[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:554:1
[INFO] [stdout]     |
[INFO] [stdout] 554 | named!(sgn <&str>, map_res!(alt!(tag!("+") | tag!("-")), 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:556:1
[INFO] [stdout]     |
[INFO] [stdout] 556 | / named!(const_list <ConstValue>, chain!(
[INFO] [stdout] 557 | |     tag!("[") ~ blank? ~
[INFO] [stdout] 558 | |         vs: many0!(chain!(
[INFO] [stdout] 559 | |             v: const_value ~ blank? ~
[INFO] [stdout] 560 | |                 list_separator? ~ blank?, || v)) ~
[INFO] [stdout] 561 | |         tag!("]"),
[INFO] [stdout] 562 | |     || ConstValue::List(vs)));
[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:556:1
[INFO] [stdout]     |
[INFO] [stdout] 556 | / named!(const_list <ConstValue>, chain!(
[INFO] [stdout] 557 | |     tag!("[") ~ blank? ~
[INFO] [stdout] 558 | |         vs: many0!(chain!(
[INFO] [stdout] 559 | |             v: const_value ~ blank? ~
[INFO] [stdout] 560 | |                 list_separator? ~ blank?, || v)) ~
[INFO] [stdout] 561 | |         tag!("]"),
[INFO] [stdout] 562 | |     || ConstValue::List(vs)));
[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:556:1
[INFO] [stdout]     |
[INFO] [stdout] 556 | / named!(const_list <ConstValue>, chain!(
[INFO] [stdout] 557 | |     tag!("[") ~ blank? ~
[INFO] [stdout] 558 | |         vs: many0!(chain!(
[INFO] [stdout] 559 | |             v: const_value ~ blank? ~
[INFO] [stdout] 560 | |                 list_separator? ~ blank?, || v)) ~
[INFO] [stdout] 561 | |         tag!("]"),
[INFO] [stdout] 562 | |     || ConstValue::List(vs)));
[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:556:1
[INFO] [stdout]     |
[INFO] [stdout] 556 | / named!(const_list <ConstValue>, chain!(
[INFO] [stdout] 557 | |     tag!("[") ~ blank? ~
[INFO] [stdout] 558 | |         vs: many0!(chain!(
[INFO] [stdout] 559 | |             v: const_value ~ blank? ~
[INFO] [stdout] 560 | |                 list_separator? ~ blank?, || v)) ~
[INFO] [stdout] 561 | |         tag!("]"),
[INFO] [stdout] 562 | |     || ConstValue::List(vs)));
[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:556:1
[INFO] [stdout]     |
[INFO] [stdout] 556 | / named!(const_list <ConstValue>, chain!(
[INFO] [stdout] 557 | |     tag!("[") ~ blank? ~
[INFO] [stdout] 558 | |         vs: many0!(chain!(
[INFO] [stdout] 559 | |             v: const_value ~ blank? ~
[INFO] [stdout] 560 | |                 list_separator? ~ blank?, || v)) ~
[INFO] [stdout] 561 | |         tag!("]"),
[INFO] [stdout] 562 | |     || ConstValue::List(vs)));
[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:564:1
[INFO] [stdout]     |
[INFO] [stdout] 564 | / named!(const_map <ConstValue>, chain!(
[INFO] [stdout] 565 | |     tag!("{") ~ blank? ~
[INFO] [stdout] 566 | |         vs: many0!(chain!(
[INFO] [stdout] 567 | |             k: const_value ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |         tag!("}"),
[INFO] [stdout] 572 | |     || ConstValue::Map));
[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:564:1
[INFO] [stdout]     |
[INFO] [stdout] 564 | / named!(const_map <ConstValue>, chain!(
[INFO] [stdout] 565 | |     tag!("{") ~ blank? ~
[INFO] [stdout] 566 | |         vs: many0!(chain!(
[INFO] [stdout] 567 | |             k: const_value ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |         tag!("}"),
[INFO] [stdout] 572 | |     || ConstValue::Map));
[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:564:1
[INFO] [stdout]     |
[INFO] [stdout] 564 | / named!(const_map <ConstValue>, chain!(
[INFO] [stdout] 565 | |     tag!("{") ~ blank? ~
[INFO] [stdout] 566 | |         vs: many0!(chain!(
[INFO] [stdout] 567 | |             k: const_value ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |         tag!("}"),
[INFO] [stdout] 572 | |     || ConstValue::Map));
[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:564:1
[INFO] [stdout]     |
[INFO] [stdout] 564 | / named!(const_map <ConstValue>, chain!(
[INFO] [stdout] 565 | |     tag!("{") ~ blank? ~
[INFO] [stdout] 566 | |         vs: many0!(chain!(
[INFO] [stdout] 567 | |             k: const_value ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |         tag!("}"),
[INFO] [stdout] 572 | |     || ConstValue::Map));
[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:564:1
[INFO] [stdout]     |
[INFO] [stdout] 564 | / named!(const_map <ConstValue>, chain!(
[INFO] [stdout] 565 | |     tag!("{") ~ blank? ~
[INFO] [stdout] 566 | |         vs: many0!(chain!(
[INFO] [stdout] 567 | |             k: const_value ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |         tag!("}"),
[INFO] [stdout] 572 | |     || ConstValue::Map));
[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:564:1
[INFO] [stdout]     |
[INFO] [stdout] 564 | / named!(const_map <ConstValue>, chain!(
[INFO] [stdout] 565 | |     tag!("{") ~ blank? ~
[INFO] [stdout] 566 | |         vs: many0!(chain!(
[INFO] [stdout] 567 | |             k: const_value ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |         tag!("}"),
[INFO] [stdout] 572 | |     || ConstValue::Map));
[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:564:1
[INFO] [stdout]     |
[INFO] [stdout] 564 | / named!(const_map <ConstValue>, chain!(
[INFO] [stdout] 565 | |     tag!("{") ~ blank? ~
[INFO] [stdout] 566 | |         vs: many0!(chain!(
[INFO] [stdout] 567 | |             k: const_value ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |         tag!("}"),
[INFO] [stdout] 572 | |     || ConstValue::Map));
[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:564:1
[INFO] [stdout]     |
[INFO] [stdout] 564 | / named!(const_map <ConstValue>, chain!(
[INFO] [stdout] 565 | |     tag!("{") ~ blank? ~
[INFO] [stdout] 566 | |         vs: many0!(chain!(
[INFO] [stdout] 567 | |             k: const_value ~ blank? ~
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |         tag!("}"),
[INFO] [stdout] 572 | |     || ConstValue::Map));
[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:575:1
[INFO] [stdout]     |
[INFO] [stdout] 575 | / named!(literal <String>, map_res!(alt!(
[INFO] [stdout] 576 | |     chain!(tag!("\"") ~ s: is_not!("\"") ~ tag!("\""), || s) |
[INFO] [stdout] 577 | |     chain!(tag!("'")  ~ s: is_not!("'")  ~ tag!("'") , || s)),
[INFO] [stdout] 578 | |                                   |v| from_utf8(v).map(|s| s.to_string())));
[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:588:1
[INFO] [stdout]     |
[INFO] [stdout] 588 | / named!(identifier <String>, chain!(
[INFO] [stdout] 589 | |     h: map_res!(alt!(alpha | tag!("_")), from_utf8) ~
[INFO] [stdout] 590 | |         t: map_res!(many0!(
[INFO] [stdout] 591 | |             alt!(
[INFO] [stdout] ...   |
[INFO] [stdout] 595 | |                     |vs| from_utf8(&cat_vec(vs)).map(|s|s.to_string())),
[INFO] [stdout] 596 | |     || format!("{}{}", h, t)));
[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:588:1
[INFO] [stdout]     |
[INFO] [stdout] 588 | / named!(identifier <String>, chain!(
[INFO] [stdout] 589 | |     h: map_res!(alt!(alpha | tag!("_")), from_utf8) ~
[INFO] [stdout] 590 | |         t: map_res!(many0!(
[INFO] [stdout] 591 | |             alt!(
[INFO] [stdout] ...   |
[INFO] [stdout] 595 | |                     |vs| from_utf8(&cat_vec(vs)).map(|s|s.to_string())),
[INFO] [stdout] 596 | |     || format!("{}{}", h, t)));
[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:588:1
[INFO] [stdout]     |
[INFO] [stdout] 588 | / named!(identifier <String>, chain!(
[INFO] [stdout] 589 | |     h: map_res!(alt!(alpha | tag!("_")), from_utf8) ~
[INFO] [stdout] 590 | |         t: map_res!(many0!(
[INFO] [stdout] 591 | |             alt!(
[INFO] [stdout] ...   |
[INFO] [stdout] 595 | |                     |vs| from_utf8(&cat_vec(vs)).map(|s|s.to_string())),
[INFO] [stdout] 596 | |     || format!("{}{}", h, t)));
[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:588:1
[INFO] [stdout]     |
[INFO] [stdout] 588 | / named!(identifier <String>, chain!(
[INFO] [stdout] 589 | |     h: map_res!(alt!(alpha | tag!("_")), from_utf8) ~
[INFO] [stdout] 590 | |         t: map_res!(many0!(
[INFO] [stdout] 591 | |             alt!(
[INFO] [stdout] ...   |
[INFO] [stdout] 595 | |                     |vs| from_utf8(&cat_vec(vs)).map(|s|s.to_string())),
[INFO] [stdout] 596 | |     || format!("{}{}", h, t)));
[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:588:1
[INFO] [stdout]     |
[INFO] [stdout] 588 | / named!(identifier <String>, chain!(
[INFO] [stdout] 589 | |     h: map_res!(alt!(alpha | tag!("_")), from_utf8) ~
[INFO] [stdout] 590 | |         t: map_res!(many0!(
[INFO] [stdout] 591 | |             alt!(
[INFO] [stdout] ...   |
[INFO] [stdout] 595 | |                     |vs| from_utf8(&cat_vec(vs)).map(|s|s.to_string())),
[INFO] [stdout] 596 | |     || format!("{}{}", h, t)));
[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:601:1
[INFO] [stdout]     |
[INFO] [stdout] 601 | named!(blank <()>, map!(many1!(alt!(comment | map!(multispace, |_| ()))), |_|()));
[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`
[INFO] [stdout]     = warning: this was previously accepted by the 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` 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:601:1
[INFO] [stdout]     |
[INFO] [stdout] 601 | named!(blank <()>, map!(many1!(alt!(comment | map!(multispace, |_| ()))), |_|()));
[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:601:1
[INFO] [stdout]     |
[INFO] [stdout] 601 | named!(blank <()>, map!(many1!(alt!(comment | map!(multispace, |_| ()))), |_|()));
[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`
[INFO] [stdout]     = warning: this was previously accepted by the 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` 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:601:1
[INFO] [stdout]     |
[INFO] [stdout] 601 | named!(blank <()>, map!(many1!(alt!(comment | map!(multispace, |_| ()))), |_|()));
[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:601:1
[INFO] [stdout]     |
[INFO] [stdout] 601 | named!(blank <()>, map!(many1!(alt!(comment | map!(multispace, |_| ()))), |_|()));
[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`
[INFO] [stdout]     = warning: this was previously accepted by the 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` 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: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:133:44
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub fn compile(mut doc: Document, wr: &mut Write) -> Result<(), Error> {
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub fn compile(mut doc: Document, wr: &mut dyn Write) -> Result<(), Error> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:169:71
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn gen_enum(enum_: &Enum, data: &mut BTreeMap<String, Json>, wr: &mut Write, handlebars: &mut Handlebars) -> Result<(), Error> {
[INFO] [stdout]     |                                                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn gen_enum(enum_: &Enum, data: &mut BTreeMap<String, Json>, wr: &mut dyn Write, handlebars: &mut Handlebars) -> Result<(), Error> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:180:77
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn gen_struct(struct_: &Struct, data: &mut BTreeMap<String, Json>, wr: &mut Write, handlebars: &mut Handlebars) -> Result<(), Error> {
[INFO] [stdout]     |                                                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn gen_struct(struct_: &Struct, data: &mut BTreeMap<String, Json>, wr: &mut dyn Write, handlebars: &mut Handlebars) -> Result<(), Error> {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:191:85
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn gen_exception(exception: &Exception, data: &mut BTreeMap<String, Json>, wr: &mut Write, handlebars: &mut Handlebars) -> Result<(...
[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] 191 | fn gen_exception(exception: &Exception, data: &mut BTreeMap<String, Json>, wr: &mut dyn Write, handlebars: &mut Handlebars) -> Result<(), Error> {
[INFO] [stdout]     |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:202:79
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn gen_typedef(typedef: &Typedef, data: &mut BTreeMap<String, Json>, wr: &mut Write, handlebars: &mut Handlebars) -> Result<(), Err...
[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] 202 | fn gen_typedef(typedef: &Typedef, data: &mut BTreeMap<String, Json>, wr: &mut dyn Write, handlebars: &mut Handlebars) -> Result<(), Error> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:214:74
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn gen_const(const_: &Const, data: &mut BTreeMap<String, Json>, wr: &mut Write, handlebars: &mut Handlebars) -> Result<(), Error> {
[INFO] [stdout]     |                                                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 214 | fn gen_const(const_: &Const, data: &mut BTreeMap<String, Json>, wr: &mut dyn Write, handlebars: &mut Handlebars) -> Result<(), Error> {
[INFO] [stdout]     |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:226:79
[INFO] [stdout]     |
[INFO] [stdout] 226 | fn gen_service(service: &Service, data: &mut BTreeMap<String, Json>, wr: &mut Write, handlebars: &mut Handlebars) -> Result<(), Err...
[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] 226 | fn gen_service(service: &Service, data: &mut BTreeMap<String, Json>, wr: &mut dyn Write, handlebars: &mut Handlebars) -> Result<(), Error> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `decode` found for enum `parser::ConstValue` in the current scope
[INFO] [stdout]    --> src/lib.rs:82:25
[INFO] [stdout]     |
[INFO] [stdout]  82 |     let v = ConstValue::decode(&mut decoder).expect("internal error: failed to decode json value");
[INFO] [stdout]     |                         ^^^^^^ variant, associated function, or constant not found in `parser::ConstValue`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/parser.rs:250:1
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub enum ConstValue {
[INFO] [stdout]     | ------------------- variant, associated function, or constant `decode` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `decode`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Decodable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `parser::Enum: Encodable` is not satisfied
[INFO] [stdout]    --> src/lib.rs:170:29
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let json = json::encode(enum_)
[INFO] [stdout]     |                ------------ ^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                |
[INFO] [stdout]     |                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Encodable` is not implemented for `parser::Enum`
[INFO] [stdout]    --> src/parser.rs:195:1
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct Enum {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Encodable`:
[INFO] [stdout]               &'a T
[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]             and 76 others
[INFO] [stdout] note: required by a bound in `rustc_serialize::json::encode`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-serialize-0.3.25/src/json.rs:390:18
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub fn encode<T: ::Encodable>(object: &T) -> EncodeResult<string::String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ required by this bound in `encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `parser::Struct: Encodable` is not satisfied
[INFO] [stdout]    --> src/lib.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let json = json::encode(struct_)
[INFO] [stdout]     |                ------------ ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                |
[INFO] [stdout]     |                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Encodable` is not implemented for `parser::Struct`
[INFO] [stdout]    --> src/parser.rs:216:1
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub struct Struct {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Encodable`:
[INFO] [stdout]               &'a T
[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]             and 76 others
[INFO] [stdout] note: required by a bound in `rustc_serialize::json::encode`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-serialize-0.3.25/src/json.rs:390:18
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub fn encode<T: ::Encodable>(object: &T) -> EncodeResult<string::String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ required by this bound in `encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `parser::Exception: Encodable` is not satisfied
[INFO] [stdout]    --> src/lib.rs:192:29
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let json = json::encode(exception)
[INFO] [stdout]     |                ------------ ^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                |
[INFO] [stdout]     |                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Encodable` is not implemented for `parser::Exception`
[INFO] [stdout]    --> src/parser.rs:222:1
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub struct Exception {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Encodable`:
[INFO] [stdout]               &'a T
[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]             and 76 others
[INFO] [stdout] note: required by a bound in `rustc_serialize::json::encode`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-serialize-0.3.25/src/json.rs:390:18
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub fn encode<T: ::Encodable>(object: &T) -> EncodeResult<string::String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ required by this bound in `encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `parser::Typedef: Encodable` is not satisfied
[INFO] [stdout]    --> src/lib.rs:203:29
[INFO] [stdout]     |
[INFO] [stdout] 203 |     let json = json::encode(typedef)
[INFO] [stdout]     |                ------------ ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                |
[INFO] [stdout]     |                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Encodable` is not implemented for `parser::Typedef`
[INFO] [stdout]    --> src/parser.rs:237:1
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub struct Typedef {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Encodable`:
[INFO] [stdout]               &'a T
[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]             and 76 others
[INFO] [stdout] note: required by a bound in `rustc_serialize::json::encode`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-serialize-0.3.25/src/json.rs:390:18
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub fn encode<T: ::Encodable>(object: &T) -> EncodeResult<string::String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ required by this bound in `encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `parser::Const: Encodable` is not satisfied
[INFO] [stdout]    --> src/lib.rs:215:29
[INFO] [stdout]     |
[INFO] [stdout] 215 |     let json = json::encode(const_)
[INFO] [stdout]     |                ------------ ^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                |
[INFO] [stdout]     |                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Encodable` is not implemented for `parser::Const`
[INFO] [stdout]    --> src/parser.rs:243:1
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub struct Const {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Encodable`:
[INFO] [stdout]               &'a T
[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]             and 76 others
[INFO] [stdout] note: required by a bound in `rustc_serialize::json::encode`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-serialize-0.3.25/src/json.rs:390:18
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub fn encode<T: ::Encodable>(object: &T) -> EncodeResult<string::String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ required by this bound in `encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `parser::Service: Encodable` is not satisfied
[INFO] [stdout]    --> src/lib.rs:227:29
[INFO] [stdout]     |
[INFO] [stdout] 227 |     let json = json::encode(service)
[INFO] [stdout]     |                ------------ ^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |                |
[INFO] [stdout]     |                required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Encodable` is not implemented for `parser::Service`
[INFO] [stdout]    --> src/parser.rs:179:1
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct Service {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `Encodable`:
[INFO] [stdout]               &'a T
[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]             and 76 others
[INFO] [stdout] note: required by a bound in `rustc_serialize::json::encode`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-serialize-0.3.25/src/json.rs:390:18
[INFO] [stdout]     |
[INFO] [stdout] 390 | pub fn encode<T: ::Encodable>(object: &T) -> EncodeResult<string::String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^ required by this bound in `encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tokio-thrift-codegen` (lib) due to 39 previous errors; 175 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "c6f8f1d8e69a182dd02a2274836fce47b8796e8057af79c0ec02e58c93a3d5a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c6f8f1d8e69a182dd02a2274836fce47b8796e8057af79c0ec02e58c93a3d5a5", kill_on_drop: false }`
[INFO] [stdout] c6f8f1d8e69a182dd02a2274836fce47b8796e8057af79c0ec02e58c93a3d5a5
