[INFO] cloning repository https://github.com/0xcxdxxr/lalalere
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/0xcxdxxr/lalalere" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xcxdxxr%2Flalalere", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xcxdxxr%2Flalalere'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 95ba2a46e61f822f53a7c74b56b682ff3e2e814e
[INFO] testing 0xcxdxxr/lalalere against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xcxdxxr%2Flalalere" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/0xcxdxxr/lalalere
[INFO] finished tweaking git repo https://github.com/0xcxdxxr/lalalere
[INFO] tweaked toml for git repo https://github.com/0xcxdxxr/lalalere written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/0xcxdxxr/lalalere on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/0xcxdxxr/lalalere 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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: the cargo feature `rename-dependency` has been stabilized in the 1.31 release and is no longer necessary to be listed in the manifest
[INFO] [stderr]   See https://doc.rust-lang.org/nightly/cargo/reference/specifying-dependencies.html#renaming-dependencies-in-cargotoml for more information about using this feature.
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde v1.0.101
[INFO] [stderr]   Downloaded memchr v2.2.1
[INFO] [stderr]   Downloaded itoa v0.4.4
[INFO] [stderr]   Downloaded serde-value v0.5.3
[INFO] [stderr]   Downloaded approx v0.1.1
[INFO] [stderr]   Downloaded ref_thread_local v0.0.0
[INFO] [stderr]   Downloaded serde v0.8.23
[INFO] [stderr]   Downloaded ryu v1.0.0
[INFO] [stderr]   Downloaded linked-hash-map v0.3.0
[INFO] [stderr]   Downloaded serde-hjson v0.8.2
[INFO] [stderr]   Downloaded fixedbitset v0.1.9
[INFO] [stderr]   Downloaded rgb v0.8.14
[INFO] [stderr]   Downloaded typed-arena v1.6.1
[INFO] [stderr]   Downloaded directories v1.0.2
[INFO] [stderr]   Downloaded rust-ini v0.13.0
[INFO] [stderr]   Downloaded linked-hash-map v0.5.2
[INFO] [stderr]   Downloaded serde_json v1.0.40
[INFO] [stderr]   Downloaded ordermap v0.3.5
[INFO] [stderr]   Downloaded autocfg v0.1.6
[INFO] [stderr]   Downloaded colored v1.8.0
[INFO] [stderr]   Downloaded pretty v0.5.2
[INFO] [stderr]   Downloaded aho-corasick v0.7.6
[INFO] [stderr]   Downloaded winconsole v0.10.0
[INFO] [stderr]   Downloaded yaml-rust v0.4.3
[INFO] [stderr]   Downloaded proc-macro2 v1.0.4
[INFO] [stderr]   Downloaded cgmath v0.16.1
[INFO] [stderr]   Downloaded toml v0.4.10
[INFO] [stderr]   Downloaded petgraph v0.4.13
[INFO] [stderr]   Downloaded ptree v0.2.1
[INFO] [stderr]   Downloaded regex v1.3.1
[INFO] [stderr]   Downloaded config v0.9.3
[INFO] [stderr]   Downloaded num-traits v0.2.8
[INFO] [stderr]   Downloaded quote v1.0.2
[INFO] [stderr]   Downloaded regex-syntax v0.6.12
[INFO] [stderr]   Downloaded libc v0.2.62
[INFO] [stderr]   Downloaded serde_test v0.8.23
[INFO] [stderr]   Downloaded serde_derive v1.0.101
[INFO] [stderr]   Downloaded isatty v0.1.9
[INFO] [stderr]   Downloaded syn v1.0.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3999b6a99656d36b13f3a99792557c932f29f3cbc5e1929f3d2eec91ead45dae
[INFO] running `Command { std: "docker" "start" "-a" "3999b6a99656d36b13f3a99792557c932f29f3cbc5e1929f3d2eec91ead45dae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3999b6a99656d36b13f3a99792557c932f29f3cbc5e1929f3d2eec91ead45dae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3999b6a99656d36b13f3a99792557c932f29f3cbc5e1929f3d2eec91ead45dae", kill_on_drop: false }`
[INFO] [stdout] 3999b6a99656d36b13f3a99792557c932f29f3cbc5e1929f3d2eec91ead45dae
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6ab6bce459a0884e9b7162fcab8566e2a17bf1cd9d3fa657636f97a7900e7c46
[INFO] running `Command { std: "docker" "start" "-a" "6ab6bce459a0884e9b7162fcab8566e2a17bf1cd9d3fa657636f97a7900e7c46", kill_on_drop: false }`
[INFO] [stderr] warning: the cargo feature `rename-dependency` has been stabilized in the 1.31 release and is no longer necessary to be listed in the manifest
[INFO] [stderr]   See https://doc.rust-lang.org/nightly/cargo/reference/specifying-dependencies.html#renaming-dependencies-in-cargotoml for more information about using this feature.
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]    Compiling proc-macro2 v1.0.4
[INFO] [stderr]    Compiling ryu v1.0.0
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling serde v0.8.23
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling winapi v0.3.8
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling aho-corasick v0.7.6
[INFO] [stderr]    Compiling nom v4.2.3
[INFO] [stderr]    Compiling cgmath v0.16.1
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling regex-syntax v0.6.12
[INFO] [stderr]    Compiling syn v1.0.5
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling serde_test v0.8.23
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling linked-hash-map v0.3.0
[INFO] [stderr]    Compiling approx v0.1.1
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling linked-hash-map v0.5.2
[INFO] [stderr]    Compiling itoa v0.4.4
[INFO] [stderr]    Compiling yaml-rust v0.4.3
[INFO] [stderr]    Compiling ordered-float v1.0.2
[INFO] [stderr]    Compiling regex v1.3.1
[INFO] [stderr]    Compiling toml v0.4.10
[INFO] [stderr]    Compiling serde_json v1.0.40
[INFO] [stderr]    Compiling serde-hjson v0.8.2
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling rgb v0.8.14
[INFO] [stderr]    Compiling ordermap v0.3.5
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling fixedbitset v0.1.9
[INFO] [stderr]    Compiling rust-ini v0.13.0
[INFO] [stderr]    Compiling config v0.9.3
[INFO] [stderr]    Compiling petgraph v0.4.13
[INFO] [stderr]    Compiling isatty v0.1.9
[INFO] [stderr]    Compiling winconsole v0.10.0
[INFO] [stderr]    Compiling serde-value v0.5.3
[INFO] [stderr]    Compiling tint v1.0.1
[INFO] [stderr]    Compiling directories v1.0.2
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling typed-arena v1.6.1
[INFO] [stderr]    Compiling pretty v0.5.2
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling colored v1.8.0
[INFO] [stderr]    Compiling ref_thread_local v0.0.0
[INFO] [stderr]    Compiling serde_derive v1.0.101
[INFO] [stderr]    Compiling ptree v0.2.1
[INFO] [stderr]    Compiling lalr_utils v0.1.0 (/opt/rustwide/workdir/src/lalr_utils)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lalr_utils/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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` 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_utils/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/nightly/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_utils/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/nightly/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_utils/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/nightly/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_utils/src/ast.rs:171:43
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lalr_utils/src/ast.rs:210:15
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ---------------
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the lifetimes get resolved as `'_`
[INFO] [stdout]     |               |         the lifetimes get resolved as `'_`
[INFO] [stdout]     |               this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lalr_utils/src/ast.rs:278:15
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ---------------
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the lifetimes get resolved as `'_`
[INFO] [stdout]     |               |         the lifetimes get resolved as `'_`
[INFO] [stdout]     |               this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lalr_utils/src/ast.rs:287:19
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn as_ast(&self) -> &Ast<T> {
[INFO] [stdout]     |                   ^^^^^     -------
[INFO] [stdout]     |                   |         ||
[INFO] [stdout]     |                   |         |the lifetimes get resolved as `'_`
[INFO] [stdout]     |                   |         the lifetimes get resolved as `'_`
[INFO] [stdout]     |                   this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 287 |     pub fn as_ast(&self) -> &Ast<'_, T> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lalr_utils/src/ast.rs:294:21
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn as_token(&self) -> &Token {
[INFO] [stdout]     |                     ^^^^^     ------
[INFO] [stdout]     |                     |         ||
[INFO] [stdout]     |                     |         |the lifetimes get resolved as `'_`
[INFO] [stdout]     |                     |         the lifetimes get resolved as `'_`
[INFO] [stdout]     |                     this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 294 |     pub fn as_token(&self) -> &Token<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/lalr_utils/src/parse_util.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]    |               ^^^^^     ---------------
[INFO] [stdout]    |               |         |   |
[INFO] [stdout]    |               |         |   the lifetimes get resolved as `'_`
[INFO] [stdout]    |               |         the lifetimes get resolved as `'_`
[INFO] [stdout]    |               this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 82 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]    |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lalr_utils/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 lifetime gets resolved as `'_`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lalr_utils/src/parse_util.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ---------------
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the lifetimes get resolved as `'_`
[INFO] [stdout]     |               |         the lifetimes get resolved as `'_`
[INFO] [stdout]     |               this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 199 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lalr_utils/src/parse_util.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_doc(&self) -> Doc<BoxDoc<()>> {
[INFO] [stdout]     |               ^^^^^     ---------------
[INFO] [stdout]     |               |         |   |
[INFO] [stdout]     |               |         |   the lifetimes get resolved as `'_`
[INFO] [stdout]     |               |         the lifetimes get resolved as `'_`
[INFO] [stdout]     |               this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>> {
[INFO] [stdout]     |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/lalr_utils/src/rule.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn iter(&self) -> std::slice::Iter<Symbol> {
[INFO] [stdout]    |                 ^^^^^     ------------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn iter(&self) -> std::slice::Iter<'_, Symbol> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lalr_utils/src/rule.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn iter(&self) -> std::slice::Iter<Rule<T>> {
[INFO] [stdout]     |                 ^^^^^     ------------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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_utils/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: 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/nightly/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)]` 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: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/lalr_utils/src/rule.rs:149:17
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn iter(&self) -> hash_map::Iter<Symbol, RuleSet<T>> {
[INFO] [stdout]     |                 ^^^^^     ---------------------------------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for 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: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]  --> src/lalr_utils/src/util.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn to_doc(&self) -> Doc<BoxDoc<()>>;
[INFO] [stdout]   |               ^^^^^     ---------------
[INFO] [stdout]   |               |         |   |
[INFO] [stdout]   |               |         |   the lifetimes get resolved as `'_`
[INFO] [stdout]   |               |         the lifetimes get resolved as `'_`
[INFO] [stdout]   |               this lifetime flows to the output
[INFO] [stdout]   |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn to_doc(&self) -> Doc<'_, BoxDoc<'_, ()>>;
[INFO] [stdout]   |                             +++        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling proc_callback v0.1.0 (/opt/rustwide/workdir/src/proc_callback)
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `lalr_util`
[INFO] [stdout]  --> src/proc_callback/src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use lalr_util::{parse_util::*, rule::*, symbol::*};
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `lalr_util`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 3 | use lalr_utils::{parse_util::*, rule::*, symbol::*};
[INFO] [stdout]   |              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `lalr_util`
[INFO] [stdout]  --> src/proc_callback/src/comp.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use lalr_util::{parse_util::*, rule::*, symbol::*};
[INFO] [stdout]   |     ^^^^^^^^^ use of unresolved module or unlinked crate `lalr_util`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 1 | use lalr_utils::{parse_util::*, rule::*, symbol::*};
[INFO] [stdout]   |              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `lalr_util::parse_util::*`, `lalr_util::rule::*`, `lalr_util::symbol::*`, `lalr_util::parse_util::*`, `lalr_util::rule::*`, `lalr_util::symbol::*`
[INFO] [stdout]  --> src/proc_callback/src/lib.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use lalr_util::{parse_util::*, rule::*, symbol::*};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/proc_callback/src/comp.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use lalr_util::{parse_util::*, rule::*, symbol::*};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Symbol` in this scope
[INFO] [stdout]  --> src/proc_callback/src/comp.rs:5:42
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn make_first<T>(first: &mut HashMap<Symbol, HashSet<Symbol>>, grammar: &Grammar<T>) {
[INFO] [stdout]   |                                          ^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use lalr_utils::symbol::Symbol;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Symbol` in this scope
[INFO] [stdout]  --> src/proc_callback/src/comp.rs:5:58
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn make_first<T>(first: &mut HashMap<Symbol, HashSet<Symbol>>, grammar: &Grammar<T>) {
[INFO] [stdout]   |                                                          ^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use lalr_utils::symbol::Symbol;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Grammar` in this scope
[INFO] [stdout]  --> src/proc_callback/src/comp.rs:5:78
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn make_first<T>(first: &mut HashMap<Symbol, HashSet<Symbol>>, grammar: &Grammar<T>) {
[INFO] [stdout]   |                                                                              ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 1 + use lalr_utils::rule::Grammar;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOTTOM` in this scope
[INFO] [stdout]   --> src/proc_callback/src/comp.rs:23:25
[INFO] [stdout]    |
[INFO] [stdout] 23 |                         if *first_elem == BOTTOM {
[INFO] [stdout]    |                                           ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]    |
[INFO] [stdout] 1  + use lalr_utils::symbol::BOTTOM;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOTTOM` in this scope
[INFO] [stdout]   --> src/proc_callback/src/comp.rs:36:42
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 if has_empty && !my_firsts.contains(&BOTTOM) {
[INFO] [stdout]    |                                                      ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]    |
[INFO] [stdout] 1  + use lalr_utils::symbol::BOTTOM;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOTTOM` in this scope
[INFO] [stdout]   --> src/proc_callback/src/comp.rs:37:22
[INFO] [stdout]    |
[INFO] [stdout] 37 |                     new_firsts.push(BOTTOM);
[INFO] [stdout]    |                                     ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]    |
[INFO] [stdout] 1  + use lalr_utils::symbol::BOTTOM;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Closure` in this scope
[INFO] [stdout]   --> src/proc_callback/src/comp.rs:55:21
[INFO] [stdout]    |
[INFO] [stdout] 55 |     closures: &mut Vec<Closure<'a, T>>,
[INFO] [stdout]    |                        ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use lalr_utils::parse_util::Closure;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Symbol` in this scope
[INFO] [stdout]   --> src/proc_callback/src/comp.rs:56:25
[INFO] [stdout]    |
[INFO] [stdout] 56 |     goto: &mut Vec<HashMap<Symbol, usize>>,
[INFO] [stdout]    |                            ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use lalr_utils::symbol::Symbol;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Symbol` in this scope
[INFO] [stdout]   --> src/proc_callback/src/comp.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |     first: &HashMap<Symbol, HashSet<Symbol>>,
[INFO] [stdout]    |                     ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use lalr_utils::symbol::Symbol;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Symbol` in this scope
[INFO] [stdout]   --> src/proc_callback/src/comp.rs:57:34
[INFO] [stdout]    |
[INFO] [stdout] 57 |     first: &HashMap<Symbol, HashSet<Symbol>>,
[INFO] [stdout]    |                                     ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use lalr_utils::symbol::Symbol;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Grammar` in this scope
[INFO] [stdout]   --> src/proc_callback/src/comp.rs:58:15
[INFO] [stdout]    |
[INFO] [stdout] 58 |     grammar: &'a Grammar<T>,
[INFO] [stdout]    |                  ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use lalr_utils::rule::Grammar;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Closure`
[INFO] [stdout]   --> src/proc_callback/src/comp.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let mut origin = Closure::new(grammar);
[INFO] [stdout]    |                      ^^^^^^^ use of undeclared type `Closure`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use lalr_utils::parse_util::Closure;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `BOTTOM` in this scope
[INFO] [stdout]   --> src/proc_callback/src/comp.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     la.insert(BOTTOM);
[INFO] [stdout]    |               ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this constant
[INFO] [stdout]    |
[INFO] [stdout] 1  + use lalr_utils::symbol::BOTTOM;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Item` in this scope
[INFO] [stdout]   --> src/proc_callback/src/comp.rs:64:16
[INFO] [stdout]    |
[INFO] [stdout] 64 |     origin.insert(Item { rule, pos: 0, la });
[INFO] [stdout]    |                   ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use lalr_utils::parse_util::Item;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Symbol` in this scope
[INFO] [stdout]   --> src/proc_callback/src/comp.rs:73:33
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let mut following = HashMap::<Symbol, Closure<_>>::new();
[INFO] [stdout]    |                                       ^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use lalr_utils::symbol::Symbol;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Closure` in this scope
[INFO] [stdout]   --> src/proc_callback/src/comp.rs:73:41
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let mut following = HashMap::<Symbol, Closure<_>>::new();
[INFO] [stdout]    |                                               ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use lalr_utils::parse_util::Closure;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Closure`
[INFO] [stdout]   --> src/proc_callback/src/comp.rs:80:28
[INFO] [stdout]    |
[INFO] [stdout] 80 |                     let mut new_closure = Closure::new(grammar);
[INFO] [stdout]    |                                           ^^^^^^^ use of undeclared type `Closure`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  + use lalr_utils::parse_util::Closure;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Symbol`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:297:18
[INFO] [stdout]     |
[INFO] [stdout] 297 |         .map(|x| Symbol::from(x.as_str()).as_terminal())
[INFO] [stdout]     |                  ^^^^^^ use of undeclared type `Symbol`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::symbol::Symbol;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Symbol` in this scope
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:300:28
[INFO] [stdout]     |
[INFO] [stdout] 300 |     let terms_set: HashSet<Symbol> = symbols.iter().map(|x| *x).collect();
[INFO] [stdout]     |                            ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::symbol::Symbol;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Grammar`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:304:23
[INFO] [stdout]     |
[INFO] [stdout] 304 |     let mut grammar = Grammar::new();
[INFO] [stdout]     |                       ^^^^^^^ use of undeclared type `Grammar`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::rule::Grammar;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Symbol`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:306:19
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let src = Symbol::from(lang_item.as_str()).as_non_terminal();
[INFO] [stdout]     |                   ^^^^^^ use of undeclared type `Symbol`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::symbol::Symbol;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Rule`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:310:24
[INFO] [stdout]     |
[INFO] [stdout] 310 |             let rule = Rule::from(rule_id, src, &ss, &terms_set);
[INFO] [stdout]     |                        ^^^^ use of undeclared type `Rule`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::rule::Rule;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `RuleSet` in this scope
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:314:24
[INFO] [stdout]     |
[INFO] [stdout] 314 |         grammar.insert(RuleSet { rules, src });
[INFO] [stdout]     |                        ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::rule::RuleSet;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Symbol` in this scope
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:317:28
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let mut first: HashMap<Symbol, HashSet<Symbol>> = HashMap::new();
[INFO] [stdout]     |                            ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::symbol::Symbol;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Symbol` in this scope
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:317:44
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let mut first: HashMap<Symbol, HashSet<Symbol>> = HashMap::new();
[INFO] [stdout]     |                                            ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::symbol::Symbol;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Closure` in this scope
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:338:27
[INFO] [stdout]     |
[INFO] [stdout] 338 |     let mut closures: Vec<Closure<()>> = vec![];
[INFO] [stdout]     |                           ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Closure;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Grammar` in this scope
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:343:31
[INFO] [stdout]     |
[INFO] [stdout] 343 |         &*(&grammar as *const Grammar<()>)
[INFO] [stdout]     |                               ^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::rule::Grammar;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Symbol` in this scope
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:375:33
[INFO] [stdout]     |
[INFO] [stdout] 375 |     let mut action: Vec<HashMap<Symbol, Action<()>>> = vec![];
[INFO] [stdout]     |                                 ^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::symbol::Symbol;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Action` in this scope
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:375:41
[INFO] [stdout]     |
[INFO] [stdout] 375 |     let mut action: Vec<HashMap<Symbol, Action<()>>> = vec![];
[INFO] [stdout]     |                                         ^^^^^^
[INFO] [stdout]    --> /rustc/d98a5da813da67eb189387b8ccfb73cf481275d8/library/core/src/option.rs:591:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: similarly named enum `Option` defined here
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 375 -     let mut action: Vec<HashMap<Symbol, Action<()>>> = vec![];
[INFO] [stdout] 375 +     let mut action: Vec<HashMap<Symbol, Option<()>>> = vec![];
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Action`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:382:43
[INFO] [stdout]     |
[INFO] [stdout] 382 |             action[state].insert(*symbol, Action::Shift(*next_state));
[INFO] [stdout]     |                                           ^^^^^^ use of undeclared type `Action`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 382 -             action[state].insert(*symbol, Action::Shift(*next_state));
[INFO] [stdout] 382 +             action[state].insert(*symbol, Option::Shift(*next_state));
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Action`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:394:29
[INFO] [stdout]     |
[INFO] [stdout] 394 | ...                   Action::Shift(new_state) => {
[INFO] [stdout]     |                       ^^^^^^ use of undeclared type `Action`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 394 -                             Action::Shift(new_state) => {
[INFO] [stdout] 394 +                             Option::Shift(new_state) => {
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Action`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:406:29
[INFO] [stdout]     |
[INFO] [stdout] 406 | ...                   Action::Reduce(rule) => {
[INFO] [stdout]     |                       ^^^^^^ use of undeclared type `Action`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 406 -                             Action::Reduce(rule) => {
[INFO] [stdout] 406 +                             Option::Reduce(rule) => {
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Action`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:418:41
[INFO] [stdout]     |
[INFO] [stdout] 418 | ...                   Action::Accept
[INFO] [stdout]     |                       ^^^^^^ use of undeclared type `Action`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 418 -                                         Action::Accept
[INFO] [stdout] 418 +                                         Option::Accept
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Action`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:420:41
[INFO] [stdout]     |
[INFO] [stdout] 420 | ...                   Action::Reduce(item.rule)
[INFO] [stdout]     |                       ^^^^^^ use of undeclared type `Action`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 420 -                                         Action::Reduce(item.rule)
[INFO] [stdout] 420 +                                         Option::Reduce(item.rule)
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Action`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:426:33
[INFO] [stdout]     |
[INFO] [stdout] 426 | ...                   Action::Shift(new_state) => {
[INFO] [stdout]     |                       ^^^^^^ use of undeclared type `Action`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 426 -                                 Action::Shift(new_state) => {
[INFO] [stdout] 426 +                                 Option::Shift(new_state) => {
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Action`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:429:33
[INFO] [stdout]     |
[INFO] [stdout] 429 | ...                   Action::Reduce(rule) => format!("Reducing {:?}", rule),
[INFO] [stdout]     |                       ^^^^^^ use of undeclared type `Action`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 429 -                                 Action::Reduce(rule) => format!("Reducing {:?}", rule),
[INFO] [stdout] 429 +                                 Option::Reduce(rule) => format!("Reducing {:?}", rule),
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Action`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:430:33
[INFO] [stdout]     |
[INFO] [stdout] 430 | ...                   Action::Accept => format!("Accept"),
[INFO] [stdout]     |                       ^^^^^^ use of undeclared type `Action`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 430 -                                 Action::Accept => format!("Accept"),
[INFO] [stdout] 430 +                                 Option::Accept => format!("Accept"),
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Action`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:443:33
[INFO] [stdout]     |
[INFO] [stdout] 443 | ...                   Action::Accept
[INFO] [stdout]     |                       ^^^^^^ use of undeclared type `Action`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 443 -                                 Action::Accept
[INFO] [stdout] 443 +                                 Option::Accept
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Action`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:445:33
[INFO] [stdout]     |
[INFO] [stdout] 445 | ...                   Action::Reduce(item.rule)
[INFO] [stdout]     |                       ^^^^^^ use of undeclared type `Action`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 445 -                                 Action::Reduce(item.rule)
[INFO] [stdout] 445 +                                 Option::Reduce(item.rule)
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Action`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:493:17
[INFO] [stdout]     |
[INFO] [stdout] 493 |                 Action::Accept => quote! {CompactAction::Accept},
[INFO] [stdout]     |                 ^^^^^^ use of undeclared type `Action`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 493 -                 Action::Accept => quote! {CompactAction::Accept},
[INFO] [stdout] 493 +                 Option::Accept => quote! {CompactAction::Accept},
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Action`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:494:17
[INFO] [stdout]     |
[INFO] [stdout] 494 |                 Action::Reduce(rule) => {
[INFO] [stdout]     |                 ^^^^^^ use of undeclared type `Action`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 494 -                 Action::Reduce(rule) => {
[INFO] [stdout] 494 +                 Option::Reduce(rule) => {
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Action`
[INFO] [stdout]    --> src/proc_callback/src/lib.rs:498:17
[INFO] [stdout]     |
[INFO] [stdout] 498 |                 Action::Shift(new_state) => quote! {CompactAction::Shift(#new_state)},
[INFO] [stdout]     |                 ^^^^^^ use of undeclared type `Action`
[INFO] [stdout]     |
[INFO] [stdout] help: an enum with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 498 -                 Action::Shift(new_state) => quote! {CompactAction::Shift(#new_state)},
[INFO] [stdout] 498 +                 Option::Shift(new_state) => quote! {CompactAction::Shift(#new_state)},
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 3   + use lalr_utils::parse_util::Action;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0412, E0422, E0425, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0412`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `proc_callback` (lib) due to 45 previous errors
[INFO] running `Command { std: "docker" "inspect" "6ab6bce459a0884e9b7162fcab8566e2a17bf1cd9d3fa657636f97a7900e7c46", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ab6bce459a0884e9b7162fcab8566e2a17bf1cd9d3fa657636f97a7900e7c46", kill_on_drop: false }`
[INFO] [stdout] 6ab6bce459a0884e9b7162fcab8566e2a17bf1cd9d3fa657636f97a7900e7c46
