[INFO] cloning repository https://github.com/sbwtw/MyParser
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sbwtw/MyParser" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsbwtw%2FMyParser", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsbwtw%2FMyParser'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d7e78bb0927a75d2ddd55deb689cd37bbf6da114
[INFO] checking sbwtw/MyParser/d7e78bb0927a75d2ddd55deb689cd37bbf6da114 against master#e22dab387f6b4f6a87dfc54ac2f6013dddb41e68 for pr-149195
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsbwtw%2FMyParser" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sbwtw/MyParser
[INFO] removed 0 missing examples
[INFO] finished tweaking git repo https://github.com/sbwtw/MyParser
[INFO] tweaked toml for git repo https://github.com/sbwtw/MyParser written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sbwtw/MyParser on toolchain e22dab387f6b4f6a87dfc54ac2f6013dddb41e68
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e22dab387f6b4f6a87dfc54ac2f6013dddb41e68" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sbwtw/MyParser already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e22dab387f6b4f6a87dfc54ac2f6013dddb41e68" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/TheDan64/inkwell`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded matches v0.1.7
[INFO] [stderr]   Downloaded enum-methods v0.0.8
[INFO] [stderr]   Downloaded id_tree v1.3.0
[INFO] [stderr]   Downloaded llvm-sys v60.1.0
[INFO] [stderr]   Downloaded regex v1.0.2
[INFO] [stderr]   Downloaded snowflake v1.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+e22dab387f6b4f6a87dfc54ac2f6013dddb41e68" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a6dd8732891db4d9f3fdedaa9ef9d2abd1dc116d5db23f61c32bb6d4dd7325f8
[INFO] running `Command { std: "docker" "start" "-a" "a6dd8732891db4d9f3fdedaa9ef9d2abd1dc116d5db23f61c32bb6d4dd7325f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a6dd8732891db4d9f3fdedaa9ef9d2abd1dc116d5db23f61c32bb6d4dd7325f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6dd8732891db4d9f3fdedaa9ef9d2abd1dc116d5db23f61c32bb6d4dd7325f8", kill_on_drop: false }`
[INFO] [stdout] a6dd8732891db4d9f3fdedaa9ef9d2abd1dc116d5db23f61c32bb6d4dd7325f8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+e22dab387f6b4f6a87dfc54ac2f6013dddb41e68" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 58cce687348e36e2e034a64c6ce0f1caff327853a52af050c1538d81439e85b2
[INFO] running `Command { std: "docker" "start" "-a" "58cce687348e36e2e034a64c6ce0f1caff327853a52af050c1538d81439e85b2", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.43
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling ucd-util v0.1.1
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]    Compiling utf8-ranges v1.0.0
[INFO] [stderr]    Compiling gcc v0.3.54
[INFO] [stderr]    Compiling lazy_static v1.1.0
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]     Checking memchr v2.0.1
[INFO] [stderr]    Compiling regex-syntax v0.5.6
[INFO] [stderr]    Compiling thread_local v0.3.5
[INFO] [stderr]    Compiling regex v1.0.2
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking regex-syntax v0.6.2
[INFO] [stderr]    Compiling aho-corasick v0.6.6
[INFO] [stderr]    Compiling inkwell v0.1.0 (https://github.com/TheDan64/inkwell?branch=llvm6-0#1309a431)
[INFO] [stderr]     Checking humantime v1.1.1
[INFO] [stderr]     Checking log v0.4.3
[INFO] [stderr]    Compiling my_parser v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking either v1.5.0
[INFO] [stderr]     Checking termcolor v1.0.1
[INFO] [stderr]     Checking snowflake v1.3.0
[INFO] [stderr]     Checking matches v0.1.7
[INFO] [stderr]     Checking id_tree v1.3.0
[INFO] [stderr]    Compiling enum-methods v0.0.8
[INFO] [stderr]     Checking env_logger v0.5.12
[INFO] [stderr]    Compiling llvm-sys v60.1.0
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/lexer/simple_lexer.rs:54:21
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 b'a'...b'z' | b'A'...b'Z' | b'_' => self.parse_string(),
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/lexer/simple_lexer.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 b'a'...b'z' | b'A'...b'Z' | b'_' => self.parse_string(),
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/lexer/simple_lexer.rs:55:21
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 b'0'...b'9' => self.parse_number(),
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]    |
[INFO] [stdout] 19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]    |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 93 |             let id = insert!(self.tree, root, Rc::new(Token::Operator(Operators::LogicOr)));
[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: `#[deny(semicolon_in_expressions_from_macros)]` (part of `#[deny(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]    |
[INFO] [stdout] 25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]    |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 94 |             let root_id = insert_type!(self.tree, root, SyntaxType::BooleanExpr);
[INFO] [stdout]    |                           ------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 120 |             let id = insert!(self.tree, root, Rc::new(Token::Operator(Operators::LogicAnd)));
[INFO] [stdout]     |                      ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 121 |             let root_id = insert_type!(self.tree, root, SyntaxType::BooleanExpr);
[INFO] [stdout]     |                           ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 147 |             let id = insert!(self.tree, root, tok);
[INFO] [stdout]     |                      ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 171 |             let id = insert!(self.tree, root, tok);
[INFO] [stdout]     |                      ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 188 |         let self_id = insert_type!(self.tree, root, SyntaxType::BooleanExpr);
[INFO] [stdout]     |                       ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 248 |         let self_id = insert_type!(self.tree, root, SyntaxType::VariableDefine);
[INFO] [stdout]     |                       --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 278 |         let self_id = insert_type!(self.tree, root, SyntaxType::StructDefine);
[INFO] [stdout]     |                       ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 321 |                 let id = insert!(self.tree, root, tok);
[INFO] [stdout]     |                          ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 323 |                 let self_id = insert_type!(self.tree, root, SyntaxType::Expr);
[INFO] [stdout]     |                               ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 358 |             let self_id = insert_type!(self.tree, root, SyntaxType::Expr);
[INFO] [stdout]     |                           ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 444 |         let self_id = insert_type!(self.tree, root, SyntaxType::StmtBlock);
[INFO] [stdout]     |                       ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 468 |         let self_id = insert_type!(self.tree, root, SyntaxType::ForLoop);
[INFO] [stdout]     |                       -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 478 |             let expr_opt1 = insert_type!(self.tree, &self_id, SyntaxType::ExprOpt);
[INFO] [stdout]     |                             ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 483 |             let expr_opt2 = insert_type!(self.tree, &self_id, SyntaxType::ExprOpt);
[INFO] [stdout]     |                             ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 488 |             let expr_opt3 = insert_type!(self.tree, &self_id, SyntaxType::ExprOpt);
[INFO] [stdout]     |                             ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 508 |         let self_id = insert_type!(self.tree, root, SyntaxType::WhileLoop);
[INFO] [stdout]     |                       ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 537 |         let self_id = insert_type!(self.tree, root, SyntaxType::AssignStmt);
[INFO] [stdout]     |                       ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 564 |                 let if_id = insert_type!(self.tree, root, SyntaxType::IfStmt);
[INFO] [stdout]     |                             ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 574 |                         let else_id = insert_type!(self.tree, root, SyntaxType::ElseStmt);
[INFO] [stdout]     |                                       --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 600 |         let self_id = insert_type!(self.tree, root, SyntaxType::ReturnStmt);
[INFO] [stdout]     |                       ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 652 |         let self_id = insert_type!(self.tree, root, SyntaxType::FuncDeclare);
[INFO] [stdout]     |                       ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 657 |                 Some(t) => insert!(self.tree, self_id, t),
[INFO] [stdout]     |                            ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 663 |                 Some(id) => insert!(self.tree, self_id, id),
[INFO] [stdout]     |                             ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 683 |         let self_id = insert_type!(self.tree, root, SyntaxType::FuncDefine);
[INFO] [stdout]     |                       ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 688 |                 Some(t) => insert!(self.tree, self_id, t),
[INFO] [stdout]     |                            ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 694 |                 Some(id) => insert!(self.tree, self_id, id),
[INFO] [stdout]     |                             ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 742 |         let self_id = insert_type!(self.tree, root, SyntaxType::FuncParam);
[INFO] [stdout]     |                       ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 747 |                 Some(t) => insert!(self.tree, self_id, t),
[INFO] [stdout]     |                            ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 752 |                 Some(id) => insert!(self.tree, self_id, id),
[INFO] [stdout]     |                             ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 767 |         let self_id = insert_type!(self.tree, root, SyntaxType::FuncCall);
[INFO] [stdout]     |                       --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 772 |                 Some(id) => insert!(self.tree, self_id, id),
[INFO] [stdout]     |                             ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 811 |         let self_id = insert_type!(self.tree, root, SyntaxType::FuncArg);
[INFO] [stdout]     |                       -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 815 |                 Some(id) => insert!(self.tree, self_id, id),
[INFO] [stdout]     |                             ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/llvm_ir_generater.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let arguments: Vec<&BasicType> = args_type.iter().map(|x| x as &BasicType).collect();
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let arguments: Vec<&dyn BasicType> = args_type.iter().map(|x| x as &BasicType).collect();
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/llvm_ir_generater.rs:200:73
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let arguments: Vec<&BasicType> = args_type.iter().map(|x| x as &BasicType).collect();
[INFO] [stdout]     |                                                                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let arguments: Vec<&BasicType> = args_type.iter().map(|x| x as &dyn BasicType).collect();
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/llvm_ir_generater.rs:278:69
[INFO] [stdout]     |
[INFO] [stdout] 278 |                         self.builder.build_return(Some(&r_value as &BasicValue));
[INFO] [stdout]     |                                                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 278 |                         self.builder.build_return(Some(&r_value as &dyn BasicValue));
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/llvm_ir_generater.rs:282:81
[INFO] [stdout]     |
[INFO] [stdout] 282 |                         self.builder.build_return(Some(value.as_int_value() as &BasicValue));
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 282 |                         self.builder.build_return(Some(value.as_int_value() as &dyn BasicValue));
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/llvm_ir_generater.rs:289:55
[INFO] [stdout]     |
[INFO] [stdout] 289 |                 self.builder.build_return(Some(&r as &BasicValue));
[INFO] [stdout]     |                                                       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 289 |                 self.builder.build_return(Some(&r as &dyn BasicValue));
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/lexer/simple_lexer.rs:54:21
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 b'a'...b'z' | b'A'...b'Z' | b'_' => self.parse_string(),
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/lexer/simple_lexer.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 b'a'...b'z' | b'A'...b'Z' | b'_' => self.parse_string(),
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/lexer/simple_lexer.rs:55:21
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 b'0'...b'9' => self.parse_number(),
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]    |
[INFO] [stdout] 19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]    |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 93 |             let id = insert!(self.tree, root, Rc::new(Token::Operator(Operators::LogicOr)));
[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: `#[deny(semicolon_in_expressions_from_macros)]` (part of `#[deny(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]    |
[INFO] [stdout] 25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]    |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 94 |             let root_id = insert_type!(self.tree, root, SyntaxType::BooleanExpr);
[INFO] [stdout]    |                           ------------------------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 120 |             let id = insert!(self.tree, root, Rc::new(Token::Operator(Operators::LogicAnd)));
[INFO] [stdout]     |                      ----------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 121 |             let root_id = insert_type!(self.tree, root, SyntaxType::BooleanExpr);
[INFO] [stdout]     |                           ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 147 |             let id = insert!(self.tree, root, tok);
[INFO] [stdout]     |                      ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 171 |             let id = insert!(self.tree, root, tok);
[INFO] [stdout]     |                      ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 188 |         let self_id = insert_type!(self.tree, root, SyntaxType::BooleanExpr);
[INFO] [stdout]     |                       ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 248 |         let self_id = insert_type!(self.tree, root, SyntaxType::VariableDefine);
[INFO] [stdout]     |                       --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 278 |         let self_id = insert_type!(self.tree, root, SyntaxType::StructDefine);
[INFO] [stdout]     |                       ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 321 |                 let id = insert!(self.tree, root, tok);
[INFO] [stdout]     |                          ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 323 |                 let self_id = insert_type!(self.tree, root, SyntaxType::Expr);
[INFO] [stdout]     |                               ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 358 |             let self_id = insert_type!(self.tree, root, SyntaxType::Expr);
[INFO] [stdout]     |                           ----------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 444 |         let self_id = insert_type!(self.tree, root, SyntaxType::StmtBlock);
[INFO] [stdout]     |                       ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 468 |         let self_id = insert_type!(self.tree, root, SyntaxType::ForLoop);
[INFO] [stdout]     |                       -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 478 |             let expr_opt1 = insert_type!(self.tree, &self_id, SyntaxType::ExprOpt);
[INFO] [stdout]     |                             ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 483 |             let expr_opt2 = insert_type!(self.tree, &self_id, SyntaxType::ExprOpt);
[INFO] [stdout]     |                             ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 488 |             let expr_opt3 = insert_type!(self.tree, &self_id, SyntaxType::ExprOpt);
[INFO] [stdout]     |                             ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 508 |         let self_id = insert_type!(self.tree, root, SyntaxType::WhileLoop);
[INFO] [stdout]     |                       ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 537 |         let self_id = insert_type!(self.tree, root, SyntaxType::AssignStmt);
[INFO] [stdout]     |                       ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 564 |                 let if_id = insert_type!(self.tree, root, SyntaxType::IfStmt);
[INFO] [stdout]     |                             ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 574 |                         let else_id = insert_type!(self.tree, root, SyntaxType::ElseStmt);
[INFO] [stdout]     |                                       --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 600 |         let self_id = insert_type!(self.tree, root, SyntaxType::ReturnStmt);
[INFO] [stdout]     |                       ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 652 |         let self_id = insert_type!(self.tree, root, SyntaxType::FuncDeclare);
[INFO] [stdout]     |                       ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 657 |                 Some(t) => insert!(self.tree, self_id, t),
[INFO] [stdout]     |                            ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 663 |                 Some(id) => insert!(self.tree, self_id, id),
[INFO] [stdout]     |                             ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 683 |         let self_id = insert_type!(self.tree, root, SyntaxType::FuncDefine);
[INFO] [stdout]     |                       ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 688 |                 Some(t) => insert!(self.tree, self_id, t),
[INFO] [stdout]     |                            ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 694 |                 Some(id) => insert!(self.tree, self_id, id),
[INFO] [stdout]     |                             ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 742 |         let self_id = insert_type!(self.tree, root, SyntaxType::FuncParam);
[INFO] [stdout]     |                       ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 747 |                 Some(t) => insert!(self.tree, self_id, t),
[INFO] [stdout]     |                            ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 752 |                 Some(id) => insert!(self.tree, self_id, id),
[INFO] [stdout]     |                             ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 767 |         let self_id = insert_type!(self.tree, root, SyntaxType::FuncCall);
[INFO] [stdout]     |                       --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 772 |                 Some(id) => insert!(self.tree, self_id, id),
[INFO] [stdout]     |                             ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]     |
[INFO] [stdout]  25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 811 |         let self_id = insert_type!(self.tree, root, SyntaxType::FuncArg);
[INFO] [stdout]     |                       -------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/parser/recursive_descent.rs:19:88
[INFO] [stdout]     |
[INFO] [stdout]  19 |         $tree.insert(Node::new(SyntaxType::Terminal($tok)), UnderNode(&$root)).unwrap();
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout] ...
[INFO] [stdout] 815 |                 Some(id) => insert!(self.tree, self_id, id),
[INFO] [stdout]     |                             ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `insert` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]      |
[INFO] [stdout]   25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 1113 |         let expr = insert_type!(tree, root_id, Expr);
[INFO] [stdout]      |                    --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]      |
[INFO] [stdout]   25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 1118 |         let expr = insert_type!(tree, root_id, Expr);
[INFO] [stdout]      |                    --------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]      |
[INFO] [stdout]   25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 1123 |         let bool_expr = insert_type!(tree, root_id, BooleanExpr);
[INFO] [stdout]      |                         ---------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]      |
[INFO] [stdout]   25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 1142 |         let assign = insert_type!(tree, root_id, AssignStmt);
[INFO] [stdout]      |                      --------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]      |
[INFO] [stdout]   25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 1144 |             let expr = insert_type!(tree, assign, Expr);
[INFO] [stdout]      |                        -------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]      |
[INFO] [stdout]   25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 1159 |         let if_stmt = insert_type!(tree, root_id, IfStmt);
[INFO] [stdout]      |                       ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]      |
[INFO] [stdout]   25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 1163 |             let assign = insert_type!(tree, if_stmt, AssignStmt);
[INFO] [stdout]      |                          --------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]      |
[INFO] [stdout]   25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 1166 |         let else_stmt = insert_type!(tree, root_id, ElseStmt);
[INFO] [stdout]      |                         ------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]      |
[INFO] [stdout]   25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 1167 |             let assign = insert_type!(tree, else_stmt, AssignStmt);
[INFO] [stdout]      |                          ----------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]      |
[INFO] [stdout]   25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 1176 |         let if_stmt = insert_type!(tree, root_id, IfStmt);
[INFO] [stdout]      |                       ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]      |
[INFO] [stdout]   25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 1180 |             let inner_if = insert_type!(tree, if_stmt, IfStmt);
[INFO] [stdout]      |                            ----------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]      |
[INFO] [stdout]   25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 1184 |                 let assign = insert_type!(tree, inner_if, AssignStmt);
[INFO] [stdout]      |                              ---------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]      |
[INFO] [stdout]   25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 1187 |             let else_stmt = insert_type!(tree, if_stmt, ElseStmt);
[INFO] [stdout]      |                             ------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]     --> src/parser/recursive_descent.rs:25:67
[INFO] [stdout]      |
[INFO] [stdout]   25 |         $tree.insert(Node::new($type), UnderNode(&$root)).unwrap();
[INFO] [stdout]      |                                                                   ^
[INFO] [stdout] ...
[INFO] [stdout] 1188 |                 let assign = insert_type!(tree, else_stmt, AssignStmt);
[INFO] [stdout]      |                              ----------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]      = note: this error originates in the macro `insert_type` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RuleToken` is never used
[INFO] [stdout]  --> src/lexer/rule_parser.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum RuleToken {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RuleLexer` is never used
[INFO] [stdout]  --> src/lexer/rule_parser.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | trait RuleLexer : Iterator<Item=RuleToken> { }
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimpleRuleLexer` is never constructed
[INFO] [stdout]   --> src/lexer/rule_parser.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct SimpleRuleLexer<I: Read> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `parse` are never used
[INFO] [stdout]   --> src/lexer/rule_parser.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<I: Read> SimpleRuleLexer<I> {
[INFO] [stdout]    | -------------------------------- associated items in this implementation
[INFO] [stdout] 25 |     pub fn new(r: I) -> SimpleRuleLexer<I> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn parse(&mut self) -> Option<RuleToken> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CharacterRange` and `Characters` are never constructed
[INFO] [stdout]   --> src/lexer/regex.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | enum RegexUnit {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout]  9 |     Character(char),
[INFO] [stdout] 10 |     CharacterRange(char, char),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     Characters(Vec<RegexUnit>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RegexUnit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `err_type` is never read
[INFO] [stdout]   --> src/parser/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ParseErrInfo {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 21 |     err_type: ParseError,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseErrInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_scope` and `current_scope_mut` are never used
[INFO] [stdout]   --> src/parser/symbol_manager.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl<V, S> SymbolManager<V, S> {
[INFO] [stdout]    | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn current_scope(&self) -> Option<&S> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn current_scope_mut(&mut self) -> Option<&mut S> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser/recursive_descent.rs:69:31
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn traverse_pre_order(&self) -> PreOrderTraversal<SyntaxType> {
[INFO] [stdout]    |                               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn traverse_pre_order(&self) -> PreOrderTraversal<'_, SyntaxType> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `my_parser` (lib) due to 70 previous errors; 16 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/llvm_ir_generater.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let arguments: Vec<&BasicType> = args_type.iter().map(|x| x as &BasicType).collect();
[INFO] [stdout]     |                             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let arguments: Vec<&dyn BasicType> = args_type.iter().map(|x| x as &BasicType).collect();
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/llvm_ir_generater.rs:200:73
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let arguments: Vec<&BasicType> = args_type.iter().map(|x| x as &BasicType).collect();
[INFO] [stdout]     |                                                                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let arguments: Vec<&BasicType> = args_type.iter().map(|x| x as &dyn BasicType).collect();
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/llvm_ir_generater.rs:278:69
[INFO] [stdout]     |
[INFO] [stdout] 278 |                         self.builder.build_return(Some(&r_value as &BasicValue));
[INFO] [stdout]     |                                                                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 278 |                         self.builder.build_return(Some(&r_value as &dyn BasicValue));
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/llvm_ir_generater.rs:282:81
[INFO] [stdout]     |
[INFO] [stdout] 282 |                         self.builder.build_return(Some(value.as_int_value() as &BasicValue));
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 282 |                         self.builder.build_return(Some(value.as_int_value() as &dyn BasicValue));
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/parser/llvm_ir_generater.rs:289:55
[INFO] [stdout]     |
[INFO] [stdout] 289 |                 self.builder.build_return(Some(&r as &BasicValue));
[INFO] [stdout]     |                                                       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 289 |                 self.builder.build_return(Some(&r as &dyn BasicValue));
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/mod.rs:74:25
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     let mut f = File::open(entry.path()).unwrap();
[INFO] [stdout]    |                         ----^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RuleToken` is never used
[INFO] [stdout]  --> src/lexer/rule_parser.rs:5:6
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum RuleToken {
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RuleLexer` is never used
[INFO] [stdout]  --> src/lexer/rule_parser.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | trait RuleLexer : Iterator<Item=RuleToken> { }
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimpleRuleLexer` is never constructed
[INFO] [stdout]   --> src/lexer/rule_parser.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct SimpleRuleLexer<I: Read> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `parse` are never used
[INFO] [stdout]   --> src/lexer/rule_parser.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<I: Read> SimpleRuleLexer<I> {
[INFO] [stdout]    | -------------------------------- associated items in this implementation
[INFO] [stdout] 25 |     pub fn new(r: I) -> SimpleRuleLexer<I> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn parse(&mut self) -> Option<RuleToken> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CharacterRange` and `Characters` are never constructed
[INFO] [stdout]   --> src/lexer/regex.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | enum RegexUnit {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout]  9 |     Character(char),
[INFO] [stdout] 10 |     CharacterRange(char, char),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     Characters(Vec<RegexUnit>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RegexUnit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `err_type` is never read
[INFO] [stdout]   --> src/parser/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ParseErrInfo {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 21 |     err_type: ParseError,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseErrInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_scope` and `current_scope_mut` are never used
[INFO] [stdout]   --> src/parser/symbol_manager.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl<V, S> SymbolManager<V, S> {
[INFO] [stdout]    | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn current_scope(&self) -> Option<&S> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn current_scope_mut(&mut self) -> Option<&mut S> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lexer/simple_lexer.rs:381:23
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let s = source.clone();
[INFO] [stdout]     |                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/lexer/simple_lexer.rs:396:23
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let s = source.clone();
[INFO] [stdout]     |                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/parser/recursive_descent.rs:69:31
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn traverse_pre_order(&self) -> PreOrderTraversal<SyntaxType> {
[INFO] [stdout]    |                               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                               |
[INFO] [stdout]    |                               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn traverse_pre_order(&self) -> PreOrderTraversal<'_, SyntaxType> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `my_parser` (lib test) due to 98 previous errors; 19 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "58cce687348e36e2e034a64c6ce0f1caff327853a52af050c1538d81439e85b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "58cce687348e36e2e034a64c6ce0f1caff327853a52af050c1538d81439e85b2", kill_on_drop: false }`
[INFO] [stdout] 58cce687348e36e2e034a64c6ce0f1caff327853a52af050c1538d81439e85b2
