[INFO] fetching crate badger 0.2.1...
[INFO] checking badger-0.2.1 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate badger 0.2.1 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate badger 0.2.1 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate badger 0.2.1
[INFO] finished tweaking crates.io crate badger 0.2.1
[INFO] tweaked toml for crates.io crate badger 0.2.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded utf8-ranges v0.1.3
[INFO] [stderr]   Downloaded regex v0.1.80
[INFO] [stderr]   Downloaded memchr v0.1.11
[INFO] [stderr]   Downloaded aho-corasick v0.5.3
[INFO] [stderr]   Downloaded regex-syntax v0.3.9
[INFO] [stderr]   Downloaded thread-id v2.0.0
[INFO] [stderr]   Downloaded thread_local v0.2.7
[INFO] [stderr]   Downloaded strsim v0.5.2
[INFO] [stderr]   Downloaded docopt v0.6.86
[INFO] [stderr]   Downloaded itoa v0.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a8877a5d69677910549762a9608651ce2d3d282352689f654d451d717edc5cba
[INFO] running `Command { std: "docker" "start" "-a" "a8877a5d69677910549762a9608651ce2d3d282352689f654d451d717edc5cba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a8877a5d69677910549762a9608651ce2d3d282352689f654d451d717edc5cba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8877a5d69677910549762a9608651ce2d3d282352689f654d451d717edc5cba", kill_on_drop: false }`
[INFO] [stdout] a8877a5d69677910549762a9608651ce2d3d282352689f654d451d717edc5cba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 33e382c30ba83814a60285d4b05f174e4df260ac4f7a85813c6774fd56bcdd48
[INFO] running `Command { std: "docker" "start" "-a" "33e382c30ba83814a60285d4b05f174e4df260ac4f7a85813c6774fd56bcdd48", kill_on_drop: false }`
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]     Checking winapi v0.2.8
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]     Checking regex-syntax v0.3.9
[INFO] [stderr]     Checking utf8-ranges v0.1.3
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking strsim v0.5.2
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]     Checking itoa v0.1.1
[INFO] [stderr]     Checking aho-corasick v0.5.3
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]     Checking regex v0.1.80
[INFO] [stderr]     Checking docopt v0.6.86
[INFO] [stderr]     Checking badger v0.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:240:21
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 b'0'...b'7' => peek - b'0',
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:257:21
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 b'0'...b'9' => peek - b'0',
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:258:21
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 b'a'...b'f' => peek - b'a' + 10,
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:259:21
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 b'A'...b'F' => peek - b'A' + 10,
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 b'0'...b'9' => self.bump(),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:316:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 b'0'...b'9' => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:547:33
[INFO] [stdout]     |
[INFO] [stdout] 547 | ...                   b'0'...b'9' => {
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:563:21
[INFO] [stdout]     |
[INFO] [stdout] 563 |                 b'0'...b'9' => Literal(self.read_number(ch)),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 108 |                     token                       => unexpected_token!(self, token),
[INFO] [stdout]     |                                                    ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:240:21
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 b'0'...b'7' => peek - b'0',
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 326 |                 token              => unexpected_token!(self, token)
[INFO] [stdout]     |                                       ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:257:21
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 b'0'...b'9' => peek - b'0',
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 409 |             token             => unexpected_token!(self, token)
[INFO] [stdout]     |                                  ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:258:21
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 b'a'...b'f' => peek - b'a' + 10,
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 637 |                 token             => unexpected_token!(self, token),
[INFO] [stdout]     |                                      ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:259:21
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 b'A'...b'F' => peek - b'A' + 10,
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 784 |             token         => unexpected_token!(self, token)
[INFO] [stdout]     |                              ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 b'0'...b'9' => self.bump(),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 798 |                 token            => unexpected_token!(self, token)
[INFO] [stdout]     |                                     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:316:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 b'0'...b'9' => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:547:33
[INFO] [stdout]     |
[INFO] [stdout] 547 | ...                   b'0'...b'9' => {
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:563:21
[INFO] [stdout]     |
[INFO] [stdout] 563 |                 b'0'...b'9' => Literal(self.read_number(ch)),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 108 |                     token                       => unexpected_token!(self, token),
[INFO] [stdout]     |                                                    ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 326 |                 token              => unexpected_token!(self, token)
[INFO] [stdout]     |                                       ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 409 |             token             => unexpected_token!(self, token)
[INFO] [stdout]     |                                  ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 637 |                 token             => unexpected_token!(self, token),
[INFO] [stdout]     |                                      ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 784 |             token         => unexpected_token!(self, token)
[INFO] [stdout]     |                              ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 798 |                 token            => unexpected_token!(self, token)
[INFO] [stdout]     |                                     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:209:47
[INFO] [stdout]     |
[INFO] [stdout] 209 |             OwnedSlice::from_str(&self.source.slice_unchecked(start, self.index))
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:209:47
[INFO] [stdout]     |
[INFO] [stdout] 209 |             OwnedSlice::from_str(&self.source.slice_unchecked(start, self.index))
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:280:46
[INFO] [stdout]     |
[INFO] [stdout] 280 |             OwnedSlice::from_str(self.source.slice_unchecked(start, self.index))
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:361:25
[INFO] [stdout]     |
[INFO] [stdout] 361 |             self.source.slice_unchecked(start, self.index)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:584:41
[INFO] [stdout]     |
[INFO] [stdout] 584 | ...                   self.source.slice_unchecked(self.index, self.index + 2)
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:280:46
[INFO] [stdout]     |
[INFO] [stdout] 280 |             OwnedSlice::from_str(self.source.slice_unchecked(start, self.index))
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:361:25
[INFO] [stdout]     |
[INFO] [stdout] 361 |             self.source.slice_unchecked(start, self.index)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:584:41
[INFO] [stdout]     |
[INFO] [stdout] 584 | ...                   self.source.slice_unchecked(self.index, self.index + 2)
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]   --> src/codegen.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 |         for item in iter.next() {
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to iterate over `iter` remove the call to `next`
[INFO] [stdout]    |
[INFO] [stdout] 64 |         for item in iter.by_ref() {
[INFO] [stdout]    |                         ~~~~~~~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]    |
[INFO] [stdout] 64 |         if let Some(item) = iter.next() {
[INFO] [stdout]    |         ~~~~~~~~~~~~    ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/codegen.rs:323:31
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 for member in iter.next() {
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to iterate over `iter` remove the call to `next`
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 for member in iter.by_ref() {
[INFO] [stdout]     |                                   ~~~~~~~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 if let Some(member) = iter.next() {
[INFO] [stdout]     |                 ~~~~~~~~~~~~      ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/codegen.rs:554:34
[INFO] [stdout]     |
[INFO] [stdout] 554 |                 for statement in iter.next() {
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to iterate over `iter` remove the call to `next`
[INFO] [stdout]     |
[INFO] [stdout] 554 |                 for statement in iter.by_ref() {
[INFO] [stdout]     |                                      ~~~~~~~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 554 |                 if let Some(statement) = iter.next() {
[INFO] [stdout]     |                 ~~~~~~~~~~~~         ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]   --> src/codegen.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 |         for item in iter.next() {
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to iterate over `iter` remove the call to `next`
[INFO] [stdout]    |
[INFO] [stdout] 64 |         for item in iter.by_ref() {
[INFO] [stdout]    |                         ~~~~~~~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]    |
[INFO] [stdout] 64 |         if let Some(item) = iter.next() {
[INFO] [stdout]    |         ~~~~~~~~~~~~    ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/codegen.rs:323:31
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 for member in iter.next() {
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to iterate over `iter` remove the call to `next`
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 for member in iter.by_ref() {
[INFO] [stdout]     |                                   ~~~~~~~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 if let Some(member) = iter.next() {
[INFO] [stdout]     |                 ~~~~~~~~~~~~      ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/codegen.rs:554:34
[INFO] [stdout]     |
[INFO] [stdout] 554 |                 for statement in iter.next() {
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to iterate over `iter` remove the call to `next`
[INFO] [stdout]     |
[INFO] [stdout] 554 |                 for statement in iter.by_ref() {
[INFO] [stdout]     |                                      ~~~~~~~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 554 |                 if let Some(statement) = iter.next() {
[INFO] [stdout]     |                 ~~~~~~~~~~~~         ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/main.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(Debug, RustcDecodable)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/main.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 | #[derive(Debug, RustcDecodable)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:240:21
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 b'0'...b'7' => peek - b'0',
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:257:21
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 b'0'...b'9' => peek - b'0',
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:258:21
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 b'a'...b'f' => peek - b'a' + 10,
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:259:21
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 b'A'...b'F' => peek - b'A' + 10,
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 b'0'...b'9' => self.bump(),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:316:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 b'0'...b'9' => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:547:33
[INFO] [stdout]     |
[INFO] [stdout] 547 | ...                   b'0'...b'9' => {
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:563:21
[INFO] [stdout]     |
[INFO] [stdout] 563 |                 b'0'...b'9' => Literal(self.read_number(ch)),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 108 |                     token                       => unexpected_token!(self, token),
[INFO] [stdout]     |                                                    ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 326 |                 token              => unexpected_token!(self, token)
[INFO] [stdout]     |                                       ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 409 |             token             => unexpected_token!(self, token)
[INFO] [stdout]     |                                  ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 637 |                 token             => unexpected_token!(self, token),
[INFO] [stdout]     |                                      ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 784 |             token         => unexpected_token!(self, token)
[INFO] [stdout]     |                              ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 798 |                 token            => unexpected_token!(self, token)
[INFO] [stdout]     |                                     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let mut f = try!(File::open(path));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut f = try!(File::create(filename));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:240:21
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 b'0'...b'7' => peek - b'0',
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:257:21
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 b'0'...b'9' => peek - b'0',
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:258:21
[INFO] [stdout]     |
[INFO] [stdout] 258 |                 b'a'...b'f' => peek - b'a' + 10,
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:259:21
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 b'A'...b'F' => peek - b'A' + 10,
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:274:21
[INFO] [stdout]     |
[INFO] [stdout] 274 |                 b'0'...b'9' => self.bump(),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:316:21
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 b'0'...b'9' => {
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:547:33
[INFO] [stdout]     |
[INFO] [stdout] 547 | ...                   b'0'...b'9' => {
[INFO] [stdout]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/tokenizer.rs:563:21
[INFO] [stdout]     |
[INFO] [stdout] 563 |                 b'0'...b'9' => Literal(self.read_number(ch)),
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser.rs:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 108 |                     token                       => unexpected_token!(self, token),
[INFO] [stdout]     |                                                    ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 326 |                 token              => unexpected_token!(self, token)
[INFO] [stdout]     |                                       ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 409 |             token             => unexpected_token!(self, token)
[INFO] [stdout]     |                                  ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 637 |                 token             => unexpected_token!(self, token),
[INFO] [stdout]     |                                      ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 784 |             token         => unexpected_token!(self, token)
[INFO] [stdout]     |                              ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (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:27:48
[INFO] [stdout]     |
[INFO] [stdout] 27  |         panic!("Unexpected token {:?}", $token);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 798 |                 token            => unexpected_token!(self, token)
[INFO] [stdout]     |                                     ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `unexpected_token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let mut f = try!(File::open(path));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let mut f = try!(File::create(filename));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> tests/lib.rs:10:59
[INFO] [stdout]     |
[INFO] [stdout] 10  |           assert_eq!(parse($string.to_string()).body, $body);
[INFO] [stdout]     |                                                             ^
[INFO] [stdout] ...
[INFO] [stdout] 374 | /     assert_statement!("
[INFO] [stdout] 375 | |
[INFO] [stdout] 376 | |     if (true) {
[INFO] [stdout] 377 | |         foo;
[INFO] [stdout] ...   |
[INFO] [stdout] 393 | |         })),
[INFO] [stdout] 394 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `assert_parse`
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `assert_parse` which comes from the expansion of the macro `assert_statement` (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]    --> tests/lib.rs:10:59
[INFO] [stdout]     |
[INFO] [stdout] 10  |           assert_eq!(parse($string.to_string()).body, $body);
[INFO] [stdout]     |                                                             ^
[INFO] [stdout] ...
[INFO] [stdout] 445 | /     assert_statement!("if (true) foo; else bar;", Statement::If {
[INFO] [stdout] 446 | |         test: Expression::Literal(LiteralTrue),
[INFO] [stdout] 447 | |         consequent: Box::new(Statement::Expression {
[INFO] [stdout] 448 | |             value: ident!("foo")
[INFO] [stdout] ...   |
[INFO] [stdout] 452 | |         })),
[INFO] [stdout] 453 | |     })
[INFO] [stdout]     | |______- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `assert_parse`
[INFO] [stdout]     = note: this warning originates in the macro `assert_parse` which comes from the expansion of the macro `assert_statement` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:209:47
[INFO] [stdout]     |
[INFO] [stdout] 209 |             OwnedSlice::from_str(&self.source.slice_unchecked(start, self.index))
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:280:46
[INFO] [stdout]     |
[INFO] [stdout] 280 |             OwnedSlice::from_str(self.source.slice_unchecked(start, self.index))
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:209:47
[INFO] [stdout]     |
[INFO] [stdout] 209 |             OwnedSlice::from_str(&self.source.slice_unchecked(start, self.index))
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:361:25
[INFO] [stdout]     |
[INFO] [stdout] 361 |             self.source.slice_unchecked(start, self.index)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:584:41
[INFO] [stdout]     |
[INFO] [stdout] 584 | ...                   self.source.slice_unchecked(self.index, self.index + 2)
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:280:46
[INFO] [stdout]     |
[INFO] [stdout] 280 |             OwnedSlice::from_str(self.source.slice_unchecked(start, self.index))
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:361:25
[INFO] [stdout]     |
[INFO] [stdout] 361 |             self.source.slice_unchecked(start, self.index)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/lib.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |         label: "foo".to_string(),
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::slice_unchecked`: use `get_unchecked(begin..end)` instead
[INFO] [stdout]    --> src/tokenizer.rs:584:41
[INFO] [stdout]     |
[INFO] [stdout] 584 | ...                   self.source.slice_unchecked(self.index, self.index + 2)
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> tests/lib.rs:72:21
[INFO] [stdout]    |
[INFO] [stdout] 72 |         label: Some("foo".to_string())
[INFO] [stdout]    |                ---- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]    |                |
[INFO] [stdout]    |                arguments to this enum variant are incorrect
[INFO] [stdout]    |
[INFO] [stdout] help: the type constructed contains `String` due to the type of the argument passed
[INFO] [stdout]   --> tests/lib.rs:72:16
[INFO] [stdout]    |
[INFO] [stdout] 72 |         label: Some("foo".to_string())
[INFO] [stdout]    |                ^^^^^-----------------^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]   --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/option.rs:580:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 87  |         Statement::Expression { value: ident!("foo") }
[INFO] [stdout]     |                                        ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 101 |         value: Some(ident!("foo")),
[INFO] [stdout]     |                     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:109:18
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 109 |             num!(1.0),
[INFO] [stdout]     |                  ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:110:18
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 110 |             num!(2.0),
[INFO] [stdout]     |                  ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 111 |             num!(3.0),
[INFO] [stdout]     |                  ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 127 |         Statement::Expression { value: ident!("foo") }
[INFO] [stdout]     |                                        ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:136:19
[INFO] [stdout]     |
[INFO] [stdout] 136 |             name: "foo".to_string(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:147:19
[INFO] [stdout]     |
[INFO] [stdout] 147 |             name: "foo".to_string(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:148:30
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 148 |             value: Some(num!(100.0)),
[INFO] [stdout]     |                              ^^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:158:19
[INFO] [stdout]     |
[INFO] [stdout] 158 |             name: "foo".to_string(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:169:19
[INFO] [stdout]     |
[INFO] [stdout] 169 |             name: "foo".to_string(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:170:30
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 170 |             value: Some(num!(100.0)),
[INFO] [stdout]     |                              ^^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:180:19
[INFO] [stdout]     |
[INFO] [stdout] 180 |             name: "foo".to_string(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:191:19
[INFO] [stdout]     |
[INFO] [stdout] 191 |             name: "foo".to_string(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:192:30
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 192 |             value: Some(num!(100.0)),
[INFO] [stdout]     |                              ^^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:202:19
[INFO] [stdout]     |
[INFO] [stdout] 202 |             name: "foo".to_string(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:205:19
[INFO] [stdout]     |
[INFO] [stdout] 205 |             name: "bar".to_string(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:217:19
[INFO] [stdout]     |
[INFO] [stdout] 217 |             name: "foo".to_string(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:218:30
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 218 |             value: Some(num!(100.0)),
[INFO] [stdout]     |                              ^^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:220:19
[INFO] [stdout]     |
[INFO] [stdout] 220 |             name: "bar".to_string(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:221:30
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 221 |             value: Some(num!(200.0)),
[INFO] [stdout]     |                              ^^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 228 |     assert_expression!("foobar", ident!("foobar"))
[INFO] [stdout]     |                                  ---------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:253:36
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 253 |     assert_expression!("100", num!(100.0));
[INFO] [stdout]     |                                    ^^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:273:37
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 273 |     assert_expression!("3.14", num!(3.14));
[INFO] [stdout]     |                                     ^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:281:24
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 281 |         right: boxnum!(1.0)
[INFO] [stdout]     |                        ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:288:23
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 288 |         left: boxnum!(1.0),
[INFO] [stdout]     |                       ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:291:27
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 291 |             left: boxnum!(2.0),
[INFO] [stdout]     |                           ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:293:28
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 293 |             right: boxnum!(3.0),
[INFO] [stdout]     |                            ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:302:27
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 302 |             left: boxnum!(1.0),
[INFO] [stdout]     |                           ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:304:28
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 304 |             right: boxnum!(2.0),
[INFO] [stdout]     |                            ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:307:24
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 307 |         right: boxnum!(3.0),
[INFO] [stdout]     |                        ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:320:15
[INFO] [stdout]     |
[INFO] [stdout] 320 |         name: "foo".to_string(),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 324 |                 value: Some(ident!("bar"))
[INFO] [stdout]     |                             ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:339:15
[INFO] [stdout]     |
[INFO] [stdout] 339 |         name: "foo".to_string(),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:41:15
[INFO] [stdout]     |
[INFO] [stdout] 41  |         name: $name.to_string()
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] ...
[INFO] [stdout] 341 |             param!("a"),
[INFO] [stdout]     |             ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `param` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:41:15
[INFO] [stdout]     |
[INFO] [stdout] 41  |         name: $name.to_string()
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] ...
[INFO] [stdout] 342 |             param!("b"),
[INFO] [stdout]     |             ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `param` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:41:15
[INFO] [stdout]     |
[INFO] [stdout] 41  |         name: $name.to_string()
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] ...
[INFO] [stdout] 343 |             param!("c"),
[INFO] [stdout]     |             ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `param` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 347 |                 value: Some(ident!("bar"))
[INFO] [stdout]     |                             ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 365 |                 value: ident!("foo")
[INFO] [stdout]     |                        ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 386 |                 value: ident!("foo")
[INFO] [stdout]     |                        ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 391 |                 value: ident!("bar")
[INFO] [stdout]     |                        ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 413 |                 value: ident!("foo")
[INFO] [stdout]     |                        ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 420 |                     value: ident!("bar")
[INFO] [stdout]     |                            ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 425 |                     value: ident!("baz")
[INFO] [stdout]     |                            ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 437 |             value: ident!("foo")
[INFO] [stdout]     |                    ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 448 |             value: ident!("foo")
[INFO] [stdout]     |                    ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 451 |             value: ident!("bar")
[INFO] [stdout]     |                    ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 461 |                 left: Box::new(ident!("i")),
[INFO] [stdout]     |                                ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:463:38
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 463 |                 right: Box::new(num!(0.0)),
[INFO] [stdout]     |                                      ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 467 |             left: Box::new(ident!("i")),
[INFO] [stdout]     |                            ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:469:34
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 469 |             right: Box::new(num!(10.0)),
[INFO] [stdout]     |                                  ^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 473 |             operand: Box::new(ident!("i")),
[INFO] [stdout]     |                               ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:488:27
[INFO] [stdout]     |
[INFO] [stdout] 488 |                     name: "i".to_string(),
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:489:38
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 489 |                     value: Some(num!(0.0)),
[INFO] [stdout]     |                                      ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 494 |             left: Box::new(ident!("i")),
[INFO] [stdout]     |                            ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:496:34
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 496 |             right: Box::new(num!(10.0)),
[INFO] [stdout]     |                                  ^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 500 |             operand: Box::new(ident!("i")),
[INFO] [stdout]     |                               ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 524 |             value: ident!("item")
[INFO] [stdout]     |                    -------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 526 |         right: ident!("object"),
[INFO] [stdout]     |                ---------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:541:27
[INFO] [stdout]     |
[INFO] [stdout] 541 |                     name: "item".to_string(),
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 546 |         right: ident!("object"),
[INFO] [stdout]     |                ---------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 557 |             value: ident!("item")
[INFO] [stdout]     |                    -------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 559 |         right: ident!("array"),
[INFO] [stdout]     |                --------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:573:27
[INFO] [stdout]     |
[INFO] [stdout] 573 |                     name: "item".to_string(),
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 578 |         right: ident!("array"),
[INFO] [stdout]     |                --------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 597 |                 value: ident!("foo")
[INFO] [stdout]     |                        ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 608 |             value: ident!("foo")
[INFO] [stdout]     |                    ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 625 |                 value: ident!("bar")
[INFO] [stdout]     |                        ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:41:15
[INFO] [stdout]     |
[INFO] [stdout] 41  |         name: $name.to_string()
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] ...
[INFO] [stdout] 635 |             param!("n")
[INFO] [stdout]     |             ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `param` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]   --> src/codegen.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 |         for item in iter.next() {
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to iterate over `iter` remove the call to `next`
[INFO] [stdout]    |
[INFO] [stdout] 64 |         for item in iter.by_ref() {
[INFO] [stdout]    |                         ~~~~~~~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]    |
[INFO] [stdout] 64 |         if let Some(item) = iter.next() {
[INFO] [stdout]    |         ~~~~~~~~~~~~    ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/codegen.rs:323:31
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 for member in iter.next() {
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to iterate over `iter` remove the call to `next`
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 for member in iter.by_ref() {
[INFO] [stdout]     |                                   ~~~~~~~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 if let Some(member) = iter.next() {
[INFO] [stdout]     |                 ~~~~~~~~~~~~      ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/codegen.rs:554:34
[INFO] [stdout]     |
[INFO] [stdout] 554 |                 for statement in iter.next() {
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to iterate over `iter` remove the call to `next`
[INFO] [stdout]     |
[INFO] [stdout] 554 |                 for statement in iter.by_ref() {
[INFO] [stdout]     |                                      ~~~~~~~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 554 |                 if let Some(statement) = iter.next() {
[INFO] [stdout]     |                 ~~~~~~~~~~~~         ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 639 |                 left: Box::new(ident!("n")),
[INFO] [stdout]     |                                ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 641 |                 right: Box::new(ident!("n")),
[INFO] [stdout]     |                                 ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:41:15
[INFO] [stdout]     |
[INFO] [stdout] 41  |         name: $name.to_string()
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] ...
[INFO] [stdout] 657 |             param!("a"),
[INFO] [stdout]     |             ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `param` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:41:15
[INFO] [stdout]     |
[INFO] [stdout] 41  |         name: $name.to_string()
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] ...
[INFO] [stdout] 658 |             param!("b"),
[INFO] [stdout]     |             ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `param` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 24 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:41:15
[INFO] [stdout]     |
[INFO] [stdout] 41  |         name: $name.to_string()
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] ...
[INFO] [stdout] 659 |             param!("c"),
[INFO] [stdout]     |             ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `param` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 663 |                 value: ident!("bar")
[INFO] [stdout]     |                        ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 682 |                 value: Some(ident!("bar"))
[INFO] [stdout]     |                             ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]   --> src/codegen.rs:64:21
[INFO] [stdout]    |
[INFO] [stdout] 64 |         for item in iter.next() {
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to iterate over `iter` remove the call to `next`
[INFO] [stdout]    |
[INFO] [stdout] 64 |         for item in iter.by_ref() {
[INFO] [stdout]    |                         ~~~~~~~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]    |
[INFO] [stdout] 64 |         if let Some(item) = iter.next() {
[INFO] [stdout]    |         ~~~~~~~~~~~~    ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:697:20
[INFO] [stdout]     |
[INFO] [stdout] 697 |         name: Some("foo".to_string()),
[INFO] [stdout]     |               ---- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |               |
[INFO] [stdout]     |               arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] help: the type constructed contains `String` due to the type of the argument passed
[INFO] [stdout]    --> tests/lib.rs:697:15
[INFO] [stdout]     |
[INFO] [stdout] 697 |         name: Some("foo".to_string()),
[INFO] [stdout]     |               ^^^^^-----------------^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/option.rs:580:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/codegen.rs:323:31
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 for member in iter.next() {
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to iterate over `iter` remove the call to `next`
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 for member in iter.by_ref() {
[INFO] [stdout]     |                                   ~~~~~~~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 if let Some(member) = iter.next() {
[INFO] [stdout]     |                 ~~~~~~~~~~~~      ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/codegen.rs:554:34
[INFO] [stdout]     |
[INFO] [stdout] 554 |                 for statement in iter.next() {
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to iterate over `iter` remove the call to `next`
[INFO] [stdout]     |
[INFO] [stdout] 554 |                 for statement in iter.by_ref() {
[INFO] [stdout]     |                                      ~~~~~~~~~
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 554 |                 if let Some(statement) = iter.next() {
[INFO] [stdout]     |                 ~~~~~~~~~~~~         ~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 701 |                 value: Some(ident!("bar"))
[INFO] [stdout]     |                             ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 710 |         value: ident!("foo")
[INFO] [stdout]     |                ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 718 |             ident!("foo"),
[INFO] [stdout]     |             ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 719 |             ident!("bar"),
[INFO] [stdout]     |             ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 24 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 720 |             ident!("baz"),
[INFO] [stdout]     |             ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:36:45
[INFO] [stdout]     |
[INFO] [stdout] 36  |     ($name:expr) => (Expression::Identifier($name.to_string()))
[INFO] [stdout]     |                      ---------------------- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 728 |         object: Box::new(ident!("foo")),
[INFO] [stdout]     |                          ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     Identifier(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `MemberKey`
[INFO] [stdout]    --> tests/lib.rs:729:28
[INFO] [stdout]     |
[INFO] [stdout] 729 |         property: Box::new(MemberKey::Computed(
[INFO] [stdout]     |                            ^^^^^^^^^ use of undeclared type `MemberKey`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:731:22
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 731 |                 num!(1.0),
[INFO] [stdout]     |                      ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:732:22
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 732 |                 num!(2.0),
[INFO] [stdout]     |                      ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:733:22
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 733 |                 num!(3.0),
[INFO] [stdout]     |                      ^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:743:18
[INFO] [stdout]     |
[INFO] [stdout] 743 |             key: "foo".to_string(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:744:25
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 744 |             value: num!(100.0),
[INFO] [stdout]     |                         ^^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:753:23
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 753 |             key: num!(100.0),
[INFO] [stdout]     |                       ^^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:754:25
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 754 |             value: num!(100.0),
[INFO] [stdout]     |                         ^^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:763:18
[INFO] [stdout]     |
[INFO] [stdout] 763 |             key: "foo".to_string(),
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:772:19
[INFO] [stdout]     |
[INFO] [stdout] 772 |             name: "foo".to_string(),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:783:24
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 783 |             name: num!(100.0),
[INFO] [stdout]     |                        ^^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:793:15
[INFO] [stdout]     |
[INFO] [stdout] 793 |         name: "Foo".to_string(),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:802:15
[INFO] [stdout]     |
[INFO] [stdout] 802 |         name: "Foo".to_string(),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:803:23
[INFO] [stdout]     |
[INFO] [stdout] 803 |         extends: Some("Bar".to_string()),
[INFO] [stdout]     |                  ---- ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] help: the type constructed contains `String` due to the type of the argument passed
[INFO] [stdout]    --> tests/lib.rs:803:18
[INFO] [stdout]     |
[INFO] [stdout] 803 |         extends: Some("Bar".to_string()),
[INFO] [stdout]     |                  ^^^^^-----------------^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this argument influences the type of `Some`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/option.rs:580:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:817:15
[INFO] [stdout]     |
[INFO] [stdout] 817 |         name: "Foo".to_string(),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:837:15
[INFO] [stdout]     |
[INFO] [stdout] 837 |         name: "Foo".to_string(),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:842:23
[INFO] [stdout]     |
[INFO] [stdout] 842 |                 name: "bar".to_string(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:859:15
[INFO] [stdout]     |
[INFO] [stdout] 859 |         name: "Foo".to_string(),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:864:23
[INFO] [stdout]     |
[INFO] [stdout] 864 |                 name: "bar".to_string(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:881:15
[INFO] [stdout]     |
[INFO] [stdout] 881 |         name: "Foo".to_string(),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:886:23
[INFO] [stdout]     |
[INFO] [stdout] 886 |                 name: "bar".to_string(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:887:29
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 887 |                 value: num!(100.0),
[INFO] [stdout]     |                             ^^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:902:15
[INFO] [stdout]     |
[INFO] [stdout] 902 |         name: "Foo".to_string(),
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:907:23
[INFO] [stdout]     |
[INFO] [stdout] 907 |                 name: "bar".to_string(),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ expected `OwnedSlice`, found `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> tests/lib.rs:908:29
[INFO] [stdout]     |
[INFO] [stdout] 28  |     ($num:expr) => (Expression::Literal(LiteralFloat($num)))
[INFO] [stdout]     |                                         ------------ arguments to this enum variant are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 908 |                 value: num!(100.0),
[INFO] [stdout]     |                             ^^^^^ expected `OwnedSlice`, found floating-point number
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/grammar.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout] 89  |     LiteralFloat(OwnedSlice),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 110 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `badger` (test "lib") due to 111 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "33e382c30ba83814a60285d4b05f174e4df260ac4f7a85813c6774fd56bcdd48", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "33e382c30ba83814a60285d4b05f174e4df260ac4f7a85813c6774fd56bcdd48", kill_on_drop: false }`
[INFO] [stdout] 33e382c30ba83814a60285d4b05f174e4df260ac4f7a85813c6774fd56bcdd48
