[INFO] cloning repository https://github.com/xlnx/myrpg
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xlnx/myrpg" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxlnx%2Fmyrpg", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxlnx%2Fmyrpg'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0979b38aa1e8ef9d77be4359e5347fecd4baf085
[INFO] checking xlnx/myrpg against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxlnx%2Fmyrpg" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/xlnx/myrpg
[INFO] finished tweaking git repo https://github.com/xlnx/myrpg
[INFO] tweaked toml for git repo https://github.com/xlnx/myrpg written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/xlnx/myrpg on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/xlnx/myrpg 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tint v1.0.1
[INFO] [stderr]   Downloaded serde-value v0.5.3
[INFO] [stderr]   Downloaded ref_thread_local v0.0.0
[INFO] [stderr]   Downloaded linked-hash-map v0.5.2
[INFO] [stderr]   Downloaded directories v1.0.2
[INFO] [stderr]   Downloaded yaml-rust v0.4.3
[INFO] [stderr]   Downloaded config v0.9.2
[INFO] [stderr]   Downloaded approx v0.1.1
[INFO] [stderr]   Downloaded colored v1.8.0
[INFO] [stderr]   Downloaded cgmath v0.16.1
[INFO] [stderr]   Downloaded winconsole v0.10.0
[INFO] [stderr]   Downloaded ptree v0.2.1
[INFO] [stderr]   Downloaded pretty v0.5.2
[INFO] [stderr]   Downloaded serde-hjson v0.8.2
[INFO] [stderr]   Downloaded rgb v0.8.13
[INFO] [stderr]   Downloaded typed-arena v1.4.1
[INFO] [stderr]   Downloaded libc v0.2.54
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5882dfc7b3148ead22061c193de997eed30eff11926727f8f6bcdad6a83c0728
[INFO] running `Command { std: "docker" "start" "-a" "5882dfc7b3148ead22061c193de997eed30eff11926727f8f6bcdad6a83c0728", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5882dfc7b3148ead22061c193de997eed30eff11926727f8f6bcdad6a83c0728", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5882dfc7b3148ead22061c193de997eed30eff11926727f8f6bcdad6a83c0728", kill_on_drop: false }`
[INFO] [stdout] 5882dfc7b3148ead22061c193de997eed30eff11926727f8f6bcdad6a83c0728
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cc64b8ddcad559611a945d3a02cc5aad5bdec7a9dec0e16b6e9d921f5831d5b7
[INFO] running `Command { std: "docker" "start" "-a" "cc64b8ddcad559611a945d3a02cc5aad5bdec7a9dec0e16b6e9d921f5831d5b7", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling libc v0.2.54
[INFO] [stderr]    Compiling memchr v2.2.0
[INFO] [stderr]    Compiling serde v1.0.91
[INFO] [stderr]    Compiling regex v1.1.6
[INFO] [stderr]    Compiling cgmath v0.16.1
[INFO] [stderr]    Compiling proc-macro2 v0.4.28
[INFO] [stderr]    Compiling winapi v0.3.7
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling syn v0.15.33
[INFO] [stderr]    Compiling ucd-util v0.1.3
[INFO] [stderr]    Compiling serde v0.8.23
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling utf8-ranges v1.0.2
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling ryu v0.2.8
[INFO] [stderr]     Checking regex-syntax v0.6.6
[INFO] [stderr]     Checking aho-corasick v0.7.3
[INFO] [stderr]    Compiling approx v0.1.1
[INFO] [stderr]    Compiling itoa v0.4.4
[INFO] [stderr]    Compiling linked-hash-map v0.5.2
[INFO] [stderr]    Compiling nom v4.2.3
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling yaml-rust v0.4.3
[INFO] [stderr]    Compiling fixedbitset v0.1.9
[INFO] [stderr]    Compiling rgb v0.8.13
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]    Compiling cfg-if v0.1.7
[INFO] [stderr]    Compiling ordered-float v1.0.2
[INFO] [stderr]    Compiling ordermap v0.3.5
[INFO] [stderr]    Compiling rust-ini v0.13.0
[INFO] [stderr]    Compiling isatty v0.1.9
[INFO] [stderr]    Compiling directories v1.0.2
[INFO] [stderr]    Compiling tint v1.0.1
[INFO] [stderr]    Compiling typed-arena v1.4.1
[INFO] [stderr]    Compiling petgraph v0.4.13
[INFO] [stderr]     Checking serde_test v0.8.23
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]     Checking linked-hash-map v0.3.0
[INFO] [stderr]    Compiling pretty v0.5.2
[INFO] [stderr]    Compiling ref_thread_local v0.0.0
[INFO] [stderr]    Compiling serde-hjson v0.8.2
[INFO] [stderr]    Compiling serde_derive v1.0.91
[INFO] [stderr]    Compiling winconsole v0.10.0
[INFO] [stderr]    Compiling colored v1.8.0
[INFO] [stderr]    Compiling serde_json v1.0.39
[INFO] [stderr]    Compiling toml v0.4.10
[INFO] [stderr]    Compiling serde-value v0.5.3
[INFO] [stderr]    Compiling config v0.9.2
[INFO] [stderr]    Compiling ptree v0.2.1
[INFO] [stderr]    Compiling lalr_util v0.1.0 (/opt/rustwide/workdir/src/lalr_util)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/log.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |     writer: &'a mut Write,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 85 |     writer: &'a mut dyn Write,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub handle_reduce: Option<Box<Fn(&mut Ast<T>) -> ()>>,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 15 |     pub handle_reduce: Option<Box<dyn Fn(&mut Ast<T>) -> ()>>,
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub handle_exec: Box<Fn(&Ast<T>) -> Option<T>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 16 |     pub handle_exec: Box<dyn Fn(&Ast<T>) -> Option<T>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/log.rs:89:33
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn from(writer: &'a mut Write) -> Self {
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 89 |     pub fn from(writer: &'a mut dyn Write) -> Self {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:171:39
[INFO] [stdout]     |
[INFO] [stdout] 171 |             serde_json::Value::Object(ref map) => {
[INFO] [stdout]     |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:210:15
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[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] 210 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:278:15
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:287:19
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn as_ast(&self) -> &Ast<T> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^
[INFO] [stdout]     |                   |         ||
[INFO] [stdout]     |                   |         |the same lifetime is hidden here
[INFO] [stdout]     |                   |         the same lifetime is elided here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn as_ast(&self) -> &Ast<'_, T> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn as_token(&self) -> &Token {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^
[INFO] [stdout]     |                     |         ||
[INFO] [stdout]     |                     |         |the same lifetime is hidden here
[INFO] [stdout]     |                     |         the same lifetime is elided here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn as_token(&self) -> &Token<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lalr_util/src/parse_util.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |         |   |
[INFO] [stdout]    |               |         |   the same lifetime is hidden here
[INFO] [stdout]    |               |         the same lifetime is hidden here
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]    |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter(&self) -> std::collections::btree_set::Iter<Item<'a, T>> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter(&self) -> std::collections::btree_set::Iter<'_, Item<'a, T>> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn iter(&self) -> std::slice::Iter<Symbol> {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn iter(&self) -> std::slice::Iter<'_, Symbol> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter(&self) -> std::slice::Iter<Rule<T>> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter(&self) -> std::slice::Iter<'_, Rule<T>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:146:20
[INFO] [stdout]     |
[INFO] [stdout] 146 |             panic!(format!("Use of undeclared rule set: {:?}", src));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 146 -             panic!(format!("Use of undeclared rule set: {:?}", src));
[INFO] [stdout] 146 +             panic!("Use of undeclared rule set: {:?}", src);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn iter(&self) -> hash_map::Iter<Symbol, RuleSet<T>> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn iter(&self) -> hash_map::Iter<'_, Symbol, RuleSet<T>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/lalr_util/src/util.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn to_doc(&self) -> Doc<BoxDoc<()>>;
[INFO] [stdout]   |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |               |         |   |
[INFO] [stdout]   |               |         |   the same lifetime is hidden here
[INFO] [stdout]   |               |         the same lifetime is hidden here
[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] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>>;
[INFO] [stdout]   |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/log.rs:85:21
[INFO] [stdout]    |
[INFO] [stdout] 85 |     writer: &'a mut Write,
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 85 |     writer: &'a mut dyn Write,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub handle_reduce: Option<Box<Fn(&mut Ast<T>) -> ()>>,
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 15 |     pub handle_reduce: Option<Box<dyn Fn(&mut Ast<T>) -> ()>>,
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub handle_exec: Box<Fn(&Ast<T>) -> Option<T>>,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 16 |     pub handle_exec: Box<dyn Fn(&Ast<T>) -> Option<T>>,
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_util/src/log.rs:89:33
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn from(writer: &'a mut Write) -> Self {
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 89 |     pub fn from(writer: &'a mut dyn Write) -> Self {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling proc_callback v0.1.0 (/opt/rustwide/workdir/src/proc_callback)
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:171:39
[INFO] [stdout]     |
[INFO] [stdout] 171 |             serde_json::Value::Object(ref map) => {
[INFO] [stdout]     |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:210:15
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[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] 210 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:278:15
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:287:19
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn as_ast(&self) -> &Ast<T> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^
[INFO] [stdout]     |                   |         ||
[INFO] [stdout]     |                   |         |the same lifetime is hidden here
[INFO] [stdout]     |                   |         the same lifetime is elided here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn as_ast(&self) -> &Ast<'_, T> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/ast.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn as_token(&self) -> &Token {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^
[INFO] [stdout]     |                     |         ||
[INFO] [stdout]     |                     |         |the same lifetime is hidden here
[INFO] [stdout]     |                     |         the same lifetime is elided here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn as_token(&self) -> &Token<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lalr_util/src/parse_util.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]    |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |               |         |   |
[INFO] [stdout]    |               |         |   the same lifetime is hidden here
[INFO] [stdout]    |               |         the same lifetime is hidden here
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]    |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:108:17
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter(&self) -> std::collections::btree_set::Iter<Item<'a, T>> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn iter(&self) -> std::collections::btree_set::Iter<'_, Item<'a, T>> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/parse_util.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the same lifetime is hidden here
[INFO] [stdout]     |               |         the same lifetime is hidden here
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lalr_util/src/rule.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn iter(&self) -> std::slice::Iter<Symbol> {
[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] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn iter(&self) -> std::slice::Iter<'_, Symbol> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter(&self) -> std::slice::Iter<Rule<T>> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter(&self) -> std::slice::Iter<'_, Rule<T>> {
[INFO] [stdout]     |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:146:20
[INFO] [stdout]     |
[INFO] [stdout] 146 |             panic!(format!("Use of undeclared rule set: {:?}", src));
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 146 -             panic!(format!("Use of undeclared rule set: {:?}", src));
[INFO] [stdout] 146 +             panic!("Use of undeclared rule set: {:?}", src);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lalr_util/src/rule.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn iter(&self) -> hash_map::Iter<Symbol, RuleSet<T>> {
[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] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn iter(&self) -> hash_map::Iter<'_, Symbol, RuleSet<T>> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/lalr_util/src/util.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn to_doc(&self) -> Doc<BoxDoc<()>>;
[INFO] [stdout]   |               ^^^^^     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |               |         |   |
[INFO] [stdout]   |               |         |   the same lifetime is hidden here
[INFO] [stdout]   |               |         the same lifetime is hidden here
[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] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>>;
[INFO] [stdout]   |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:432:36
[INFO] [stdout]     |
[INFO] [stdout] 432 |   ...                   panic!(format!(
[INFO] [stdout]     |  ______________________________^
[INFO] [stdout] 433 | | ...                       "Conflict action found when receiving {:?}:\n#0: {}\n#1: Reducing {:?}\nCan't build parse table",
[INFO] [stdout] 434 | | ...                       symbol,
[INFO] [stdout] 435 | | ...                       prev,
[INFO] [stdout] 436 | | ...                       item
[INFO] [stdout] 437 | | ...                   ));
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 432 ~                             panic!(
[INFO] [stdout] 433 |                                 "Conflict action found when receiving {:?}:\n#0: {}\n#1: Reducing {:?}\nCan't build parse table",
[INFO] [stdout] ...
[INFO] [stdout] 436 |                                 item
[INFO] [stdout] 437 ~                             );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking myrpg v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:66:34
[INFO] [stdout]    |
[INFO] [stdout] 66 |     lex_cbs: HashMap<Symbol, Box<Fn(&mut Token, &mut TokenCtrl) -> ()>>,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 66 |     lex_cbs: HashMap<Symbol, Box<dyn Fn(&mut Token, &mut TokenCtrl) -> ()>>,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |             Option<Box<Fn(&mut Token, &mut TokenCtrl) -> ()>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 22 |             Option<Box<dyn Fn(&mut Token, &mut TokenCtrl) -> ()>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:29:32
[INFO] [stdout]    |
[INFO] [stdout] 29 |                     Option<Box<Fn(&Ast<Self::Output>) -> Option<Self::Output>>>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 29 |                     Option<Box<dyn Fn(&Ast<Self::Output>) -> Option<Self::Output>>>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:30:32
[INFO] [stdout]    |
[INFO] [stdout] 30 |                     Option<Box<Fn(&mut Ast<Self::Output>) -> ()>>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 30 |                     Option<Box<dyn Fn(&mut Ast<Self::Output>) -> ()>>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:66:34
[INFO] [stdout]    |
[INFO] [stdout] 66 |     lex_cbs: HashMap<Symbol, Box<Fn(&mut Token, &mut TokenCtrl) -> ()>>,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 66 |     lex_cbs: HashMap<Symbol, Box<dyn Fn(&mut Token, &mut TokenCtrl) -> ()>>,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |             Option<Box<Fn(&mut Token, &mut TokenCtrl) -> ()>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 22 |             Option<Box<dyn Fn(&mut Token, &mut TokenCtrl) -> ()>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:29:32
[INFO] [stdout]    |
[INFO] [stdout] 29 |                     Option<Box<Fn(&Ast<Self::Output>) -> Option<Self::Output>>>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 29 |                     Option<Box<dyn Fn(&Ast<Self::Output>) -> Option<Self::Output>>>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:30:32
[INFO] [stdout]    |
[INFO] [stdout] 30 |                     Option<Box<Fn(&mut Ast<Self::Output>) -> ()>>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) 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] 30 |                     Option<Box<dyn Fn(&mut Ast<Self::Output>) -> ()>>,
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `VecDeque::<T, A>::split_off` that must be used
[INFO] [stdout]    --> src/lib.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |         states.split_off(len - ast_size - term_size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `.truncate()` if you don't need the other half
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let _ = states.split_off(len - ast_size - term_size);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:343:18
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast<T::Output>, Vec<SourceFileMark>), ()> {
[INFO] [stdout]     |                  ^^^^^ the lifetime is elided here                     ^^^^^^^^^^^^^^ the same lifetime is hidden 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] 343 |     pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast<'_, T::Output>, Vec<SourceFileMark>), ()> {
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `VecDeque::<T, A>::split_off` that must be used
[INFO] [stdout]    --> src/lib.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |         states.split_off(len - ast_size - term_size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: use `.truncate()` if you don't need the other half
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 259 |         let _ = states.split_off(len - ast_size - term_size);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:343:18
[INFO] [stdout]     |
[INFO] [stdout] 343 |     pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast<T::Output>, Vec<SourceFileMark>), ()> {
[INFO] [stdout]     |                  ^^^^^ the lifetime is elided here                     ^^^^^^^^^^^^^^ the same lifetime is hidden 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] 343 |     pub fn parse(&self, text: &'a str, logger: &mut Logger) -> Result<(Ast<'_, T::Output>, Vec<SourceFileMark>), ()> {
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Computing First Set...
[INFO] [stdout] Computing Closures...
[INFO] [stdout] Computing Look Ahead Tokens...
[INFO] [stdout] Building LALR Action Table...
[INFO] [stdout] 
[INFO] [stdout] <Build Summary>
[INFO] [stdout]   States = 9
[INFO] [stdout]   Actions = 19
[INFO] [stdout] Computing First Set...
[INFO] [stdout] Computing Closures...
[INFO] [stdout] Computing Look Ahead Tokens...
[INFO] [stdout] Building LALR Action Table...
[INFO] [stdout] 
[INFO] [stdout] <Build Summary>
[INFO] [stdout]   States = 10
[INFO] [stdout]   Actions = 33
[INFO] [stdout] warning: unused variable: `tok`
[INFO] [stdout]   --> tests/test.rs:50:25
[INFO] [stdout]    |
[INFO] [stdout] 50 |     SRC_LOC => r";" => |tok, ctrl| {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_tok`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.93s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.2.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "cc64b8ddcad559611a945d3a02cc5aad5bdec7a9dec0e16b6e9d921f5831d5b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc64b8ddcad559611a945d3a02cc5aad5bdec7a9dec0e16b6e9d921f5831d5b7", kill_on_drop: false }`
[INFO] [stdout] cc64b8ddcad559611a945d3a02cc5aad5bdec7a9dec0e16b6e9d921f5831d5b7
