[INFO] fetching crate earley 0.1.0...
[INFO] checking earley-0.1.0 against master#b0696a5160711c068cb1f01b7437db7990d15750 for pr-121848
[INFO] extracting crate earley 0.1.0 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate earley 0.1.0 on toolchain b0696a5160711c068cb1f01b7437db7990d15750
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate earley 0.1.0
[INFO] finished tweaking crates.io crate earley 0.1.0
[INFO] tweaked toml for crates.io crate earley 0.1.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1dd0b039d20e767212522acb13c7411960da78e2d3e8b778de2ce9f2ee0f053d
[INFO] running `Command { std: "docker" "start" "-a" "1dd0b039d20e767212522acb13c7411960da78e2d3e8b778de2ce9f2ee0f053d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1dd0b039d20e767212522acb13c7411960da78e2d3e8b778de2ce9f2ee0f053d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1dd0b039d20e767212522acb13c7411960da78e2d3e8b778de2ce9f2ee0f053d", kill_on_drop: false }`
[INFO] [stdout] 1dd0b039d20e767212522acb13c7411960da78e2d3e8b778de2ce9f2ee0f053d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 06bed18a1638a6be87aa829bc07e5ec539da5b9e387eaaa1ef54d6f1e8f22cef
[INFO] running `Command { std: "docker" "start" "-a" "06bed18a1638a6be87aa829bc07e5ec539da5b9e387eaaa1ef54d6f1e8f22cef", kill_on_drop: false }`
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]     Checking anstyle-query v1.0.2
[INFO] [stderr]     Checking anstyle v1.0.6
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]     Checking unicode-segmentation v1.11.0
[INFO] [stderr]     Checking env_filter v0.1.0
[INFO] [stderr]     Checking anstyle-parse v0.2.3
[INFO] [stderr]     Checking anstream v0.6.13
[INFO] [stderr]     Checking env_logger v0.11.3
[INFO] [stderr]     Checking earley v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/item_table.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |             try!(format!("{:=^80}\n", format!(" {} ", index)).fmt(f));
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/item_table.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |                 try!(format!("{:<60} {:?}\n", item, item.get_operation()).fmt(f));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/grammar/rule.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 |     productions: Vec<Box<Production<T>>>,
[INFO] [stdout]   |                          ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/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 an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     productions: Vec<Box<dyn Production<T>>>,
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/item.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     production: &'a Production<T>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     production: &'a dyn Production<T>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/mod.rs:20:37
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new(productions: Vec<Box<Production<T>>>) -> Grammar<T> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new(productions: Vec<Box<dyn Production<T>>>) -> Grammar<T> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/mod.rs:47:58
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn productions_for_starting_rule(&self) -> &[Box<Production<T>>] {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn productions_for_starting_rule(&self) -> &[Box<dyn Production<T>>] {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/mod.rs:51:56
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn productions_for(&self, name: &str) -> &[Box<Production<T>>] {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn productions_for(&self, name: &str) -> &[Box<dyn Production<T>>] {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/production.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a, T> PartialEq for &'a Production<T> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a, T> PartialEq for &'a dyn Production<T> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/production.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<'a, T> Eq for &'a Production<T> {}
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<'a, T> Eq for &'a dyn Production<T> {}
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/rule.rs:11:57
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(name: &'static str, productions: Vec<Box<Production<T>>>) -> Rule<T> {
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(name: &'static str, productions: Vec<Box<dyn Production<T>>>) -> Rule<T> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/rule.rs:23:44
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn get_productions(&self) -> &[Box<Production<T>>] {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn get_productions(&self) -> &[Box<dyn Production<T>>] {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/item.rs:42:36
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn predict(production: &'a Production<T>, start: usize) -> Item<'a, T> {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn predict(production: &'a dyn Production<T>, start: usize) -> Item<'a, T> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/item_table.rs:88:21
[INFO] [stdout]    |
[INFO] [stdout] 88 |         if let Some(mut items) = self.table.get_mut(index) {
[INFO] [stdout]    |                     ----^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: no rules expected the token `:`
[INFO] [stdout]   --> benches/basic.rs:12:82
[INFO] [stdout]    |
[INFO] [stdout] 12 |         earley_production!("Sum" => [{"Sum"}, ["+"], {"Product"}]         (result: u32) { result[0].get() + result[2].get() }),
[INFO] [stdout]    |                                                                                  ^ no rules expected this token in macro call
[INFO] [stdout]    |
[INFO] [stdout] note: while trying to match `)`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/grammar/macros.rs:10:57
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ($name:expr => [$($token:expr),*] ($($varname:pat),*) -> $vartype:ty; $action:block) => {
[INFO] [stdout]    |                                                         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: no rules expected the token `:`
[INFO] [stdout]   --> benches/basic.rs:13:82
[INFO] [stdout]    |
[INFO] [stdout] 13 |         earley_production!("Sum" => [{"Product"}]                         (result: u32) { result[0].get() }),
[INFO] [stdout]    |                                                                                  ^ no rules expected this token in macro call
[INFO] [stdout]    |
[INFO] [stdout] note: while trying to match `)`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/grammar/macros.rs:10:57
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ($name:expr => [$($token:expr),*] ($($varname:pat),*) -> $vartype:ty; $action:block) => {
[INFO] [stdout]    |                                                         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: no rules expected the token `:`
[INFO] [stdout]   --> benches/basic.rs:14:82
[INFO] [stdout]    |
[INFO] [stdout] 14 |         earley_production!("Product" => [{"Product"}, ["*"], {"Factor"}]  (result: u32) { result[0].get() * result[2].get() }),
[INFO] [stdout]    |                                                                                  ^ no rules expected this token in macro call
[INFO] [stdout]    |
[INFO] [stdout] note: while trying to match `)`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/grammar/macros.rs:10:57
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ($name:expr => [$($token:expr),*] ($($varname:pat),*) -> $vartype:ty; $action:block) => {
[INFO] [stdout]    |                                                         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: no rules expected the token `:`
[INFO] [stdout]   --> benches/basic.rs:15:82
[INFO] [stdout]    |
[INFO] [stdout] 15 |         earley_production!("Product" => [{"Factor"}]                      (result: u32) { result[0].get() }),
[INFO] [stdout]    |                                                                                  ^ no rules expected this token in macro call
[INFO] [stdout]    |
[INFO] [stdout] note: while trying to match `)`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/grammar/macros.rs:10:57
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ($name:expr => [$($token:expr),*] ($($varname:pat),*) -> $vartype:ty; $action:block) => {
[INFO] [stdout]    |                                                         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: no rules expected the token `:`
[INFO] [stdout]   --> benches/basic.rs:16:82
[INFO] [stdout]    |
[INFO] [stdout] 16 |         earley_production!("Factor" => [["("], {"Sum"}, [")"]]            (result: u32) { result[1].get() }),
[INFO] [stdout]    |                                                                                  ^ no rules expected this token in macro call
[INFO] [stdout]    |
[INFO] [stdout] note: while trying to match `)`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/grammar/macros.rs:10:57
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ($name:expr => [$($token:expr),*] ($($varname:pat),*) -> $vartype:ty; $action:block) => {
[INFO] [stdout]    |                                                         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: no rules expected the token `:`
[INFO] [stdout]   --> benches/basic.rs:17:82
[INFO] [stdout]    |
[INFO] [stdout] 17 |         earley_production!("Factor" => [{"Number"}]                       (result: u32) { result[0].get() }),
[INFO] [stdout]    |                                                                                  ^ no rules expected this token in macro call
[INFO] [stdout]    |
[INFO] [stdout] note: while trying to match `)`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/grammar/macros.rs:10:57
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ($name:expr => [$($token:expr),*] ($($varname:pat),*) -> $vartype:ty; $action:block) => {
[INFO] [stdout]    |                                                         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: no rules expected the token `:`
[INFO] [stdout]   --> benches/basic.rs:18:82
[INFO] [stdout]    |
[INFO] [stdout] 18 |         earley_production!("Number" => [["1"]]                            (result: u32) { 1 }),
[INFO] [stdout]    |                                                                                  ^ no rules expected this token in macro call
[INFO] [stdout]    |
[INFO] [stdout] note: while trying to match `)`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/grammar/macros.rs:10:57
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ($name:expr => [$($token:expr),*] ($($varname:pat),*) -> $vartype:ty; $action:block) => {
[INFO] [stdout]    |                                                         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: no rules expected the token `:`
[INFO] [stdout]   --> benches/basic.rs:19:82
[INFO] [stdout]    |
[INFO] [stdout] 19 |         earley_production!("Number" => [["2"]]                            (result: u32) { 2 }),
[INFO] [stdout]    |                                                                                  ^ no rules expected this token in macro call
[INFO] [stdout]    |
[INFO] [stdout] note: while trying to match `)`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/grammar/macros.rs:10:57
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ($name:expr => [$($token:expr),*] ($($varname:pat),*) -> $vartype:ty; $action:block) => {
[INFO] [stdout]    |                                                         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> tests/basic.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: no rules expected the token `:`
[INFO] [stdout]   --> benches/basic.rs:20:82
[INFO] [stdout]    |
[INFO] [stdout] 20 |         earley_production!("Number" => [["3"]]                            (result: u32) { 3 }),
[INFO] [stdout]    |                                                                                  ^ no rules expected this token in macro call
[INFO] [stdout]    |
[INFO] [stdout] note: while trying to match `)`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/grammar/macros.rs:10:57
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ($name:expr => [$($token:expr),*] ($($varname:pat),*) -> $vartype:ty; $action:block) => {
[INFO] [stdout]    |                                                         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> tests/nullability.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> examples/basic.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> tests/empty_rules.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> tests/rules.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> benches/basic.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/item_table.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |             try!(format!("{:=^80}\n", format!(" {} ", index)).fmt(f));
[INFO] [stdout]     |             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/item_table.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |                 try!(format!("{:<60} {:?}\n", item, item.get_operation()).fmt(f));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/grammar/rule.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 |     productions: Vec<Box<Production<T>>>,
[INFO] [stdout]   |                          ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/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 an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     productions: Vec<Box<dyn Production<T>>>,
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> benches/basic.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let productions: Vec<Box<Production<u32>>> = vec![
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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 an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let productions: Vec<Box<dyn Production<u32>>> = vec![
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/item.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     production: &'a Production<T>,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     production: &'a dyn Production<T>,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/mod.rs:20:37
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new(productions: Vec<Box<Production<T>>>) -> Grammar<T> {
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new(productions: Vec<Box<dyn Production<T>>>) -> Grammar<T> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/mod.rs:47:58
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn productions_for_starting_rule(&self) -> &[Box<Production<T>>] {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn productions_for_starting_rule(&self) -> &[Box<dyn Production<T>>] {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/mod.rs:51:56
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn productions_for(&self, name: &str) -> &[Box<Production<T>>] {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn productions_for(&self, name: &str) -> &[Box<dyn Production<T>>] {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/production.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a, T> PartialEq for &'a Production<T> {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'a, T> PartialEq for &'a dyn Production<T> {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/production.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<'a, T> Eq for &'a Production<T> {}
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl<'a, T> Eq for &'a dyn Production<T> {}
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/rule.rs:11:57
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(name: &'static str, productions: Vec<Box<Production<T>>>) -> Rule<T> {
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(name: &'static str, productions: Vec<Box<dyn Production<T>>>) -> Rule<T> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/grammar/rule.rs:23:44
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn get_productions(&self) -> &[Box<Production<T>>] {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn get_productions(&self) -> &[Box<dyn Production<T>>] {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/item.rs:42:36
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn predict(production: &'a Production<T>, start: usize) -> Item<'a, T> {
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn predict(production: &'a dyn Production<T>, start: usize) -> Item<'a, T> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> tests/rules.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let productions: Vec<Box<Production<u32>>> = vec![
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/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 an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let productions: Vec<Box<dyn Production<u32>>> = vec![
[INFO] [stdout]   |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> tests/empty_rules.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let productions: Vec<Box<Production<String>>> = vec![
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/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 an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let productions: Vec<Box<dyn Production<String>>> = vec![
[INFO] [stdout]   |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> tests/basic.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let productions: Vec<Box<Production<u32>>> = vec![
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/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 an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let productions: Vec<Box<dyn Production<u32>>> = vec![
[INFO] [stdout]   |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> tests/nullability.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let productions: Vec<Box<Production<u32>>> = vec![
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/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 an object-safe trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let productions: Vec<Box<dyn Production<u32>>> = vec![
[INFO] [stdout]   |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `earley` (bench "basic") due to 10 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `unwrap` found for unit type `()` in the current scope
[INFO] [stdout]  --> examples/basic.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 |     env_logger::init().unwrap();
[INFO] [stdout]   |                        ^^^^^^ method not found in `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `earley` (example "basic") due to 2 previous errors; 1 warning emitted
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/item_table.rs:88:21
[INFO] [stdout]    |
[INFO] [stdout] 88 |         if let Some(mut items) = self.table.get_mut(index) {
[INFO] [stdout]    |                     ----^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "06bed18a1638a6be87aa829bc07e5ec539da5b9e387eaaa1ef54d6f1e8f22cef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "06bed18a1638a6be87aa829bc07e5ec539da5b9e387eaaa1ef54d6f1e8f22cef", kill_on_drop: false }`
[INFO] [stdout] 06bed18a1638a6be87aa829bc07e5ec539da5b9e387eaaa1ef54d6f1e8f22cef
