[INFO] fetching crate earley-omnitool 0.0.6...
[INFO] checking earley-omnitool-0.0.6 against try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] extracting crate earley-omnitool 0.0.6 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate earley-omnitool 0.0.6
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate earley-omnitool 0.0.6
[INFO] tweaked toml for crates.io crate earley-omnitool 0.0.6 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate earley-omnitool 0.0.6 on toolchain 012cd62c9add58ab3910e44c137d87db3ab70f61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 50 packages to latest compatible versions
[INFO] [stderr]       Adding bit-matrix v0.6.1 (available: v0.9.0)
[INFO] [stderr]       Adding cfg v0.6.2 (available: v0.10.1)
[INFO] [stderr]       Adding env_logger v0.7.1 (available: v0.11.10)
[INFO] [stderr]       Adding num v0.2.1 (available: v0.4.3)
[INFO] [stderr]       Adding num-derive v0.3.3 (available: v0.4.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2151343c41f7a15beca83b7e53cf5d9272728bf59559189d9719b355728bce9d
[INFO] running `Command { std: "docker" "start" "-a" "2151343c41f7a15beca83b7e53cf5d9272728bf59559189d9719b355728bce9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2151343c41f7a15beca83b7e53cf5d9272728bf59559189d9719b355728bce9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2151343c41f7a15beca83b7e53cf5d9272728bf59559189d9719b355728bce9d", kill_on_drop: false }`
[INFO] [stdout] 2151343c41f7a15beca83b7e53cf5d9272728bf59559189d9719b355728bce9d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a0567d098462496c21819c9ddb83ca40ac4e85fd5bd71a2a8814dc54891cde22
[INFO] running `Command { std: "docker" "start" "-a" "a0567d098462496c21819c9ddb83ca40ac4e85fd5bd71a2a8814dc54891cde22", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking ref_slice v1.2.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking bit-vec-omnitool v0.7.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling logos-codegen v0.13.0
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]    Compiling logos-derive v0.13.0
[INFO] [stderr]     Checking logos v0.13.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking optional v0.5.0
[INFO] [stderr]     Checking internship v0.6.0
[INFO] [stderr]     Checking c_lexer_logos v0.1.1
[INFO] [stderr]     Checking bit-matrix v0.6.1
[INFO] [stderr]     Checking cfg v0.6.2
[INFO] [stderr]     Checking earley-omnitool v0.0.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> src/lib.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![cfg_attr(feature = "cargo-clippy", allow(new_without_default_derive))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/binary_heap.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | #![cfg_attr(feature = "cargo-clippy", allow(nonminimal_bool))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/grammar.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> src/lib.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![cfg_attr(feature = "cargo-clippy", allow(new_without_default_derive))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> src/binary_heap.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | #![cfg_attr(feature = "cargo-clippy", allow(nonminimal_bool))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/grammar.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]   --> src/forest/bocage/mod.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ref_slice::ref_slice;
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]    --> src/forest/bocage/mod.rs:113:22
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 _ => ref_slice(graph.get_unchecked(node.usize())),
[INFO] [stdout]     |                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]  --> src/forest/bocage/traverse.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ref_slice::ref_slice;
[INFO] [stdout]   |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]   --> src/forest/bocage/traverse.rs:58:39
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...                   products: ref_slice(node).iter(),
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]   --> src/forest/bocage/mod.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ref_slice::ref_slice;
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]    --> src/forest/bocage/mod.rs:113:22
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 _ => ref_slice(graph.get_unchecked(node.usize())),
[INFO] [stdout]     |                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]  --> src/forest/bocage/traverse.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ref_slice::ref_slice;
[INFO] [stdout]   |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ref_slice::ref_slice`: Similar method was added to std and stabilized in rust 1.28.0. Use `core::slice::from_ref` instead.
[INFO] [stdout]   --> src/forest/bocage/traverse.rs:58:39
[INFO] [stdout]    |
[INFO] [stdout] 58 | ...                   products: ref_slice(node).iter(),
[INFO] [stdout]    |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/memory_use.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             0..=1000 => 16,
[INFO] [stdout]    |             -------- this range overlaps on `1000_usize`...
[INFO] [stdout] 40 |             1000..=500_000 => 32,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout]    = note: `#[warn(overlapping_range_endpoints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/memory_use.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             1000..=500_000 => 32,
[INFO] [stdout]    |             -------------- this range overlaps on `500000_usize`...
[INFO] [stdout] 41 |             500_000..=2_000_000 => 64,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/memory_use.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             0..=200 => 16,
[INFO] [stdout]    |             ------- this range overlaps on `200_usize`...
[INFO] [stdout] 81 |             200..=10_000 => 32,
[INFO] [stdout]    |             ^^^^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/memory_use.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             200..=10_000 => 32,
[INFO] [stdout]    |             ------------ this range overlaps on `10000_usize`...
[INFO] [stdout] 82 |             10_000..=100_000 => 64,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]    --> src/memory_use.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             0..=1000 => 16,
[INFO] [stdout]     |             -------- this range overlaps on `1000_usize`...
[INFO] [stdout] 120 |             1000..=500_000 => 32,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]     |
[INFO] [stdout]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]    --> src/memory_use.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |             1000..=500_000 => 32,
[INFO] [stdout]     |             -------------- this range overlaps on `500000_usize`...
[INFO] [stdout] 121 |             500_000..=2_000_000 => 64,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]     |
[INFO] [stdout]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]    --> src/memory_use.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |             0..=1000 => 8,
[INFO] [stdout]     |             -------- this range overlaps on `1000_usize`...
[INFO] [stdout] 214 |             1000..=100_000 => 32,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]     |
[INFO] [stdout]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]    --> src/memory_use.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |             0..=1000 => 8,
[INFO] [stdout]     |             -------- this range overlaps on `1000_usize`...
[INFO] [stdout] 234 |             1000..=100_000 => 32,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]     |
[INFO] [stdout]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nop` is never read
[INFO] [stdout]    --> src/forest/compact_bocage/node.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | union NodeRepr {
[INFO] [stdout]     |       -------- field in this union
[INFO] [stdout] ...
[INFO] [stdout] 143 |     nop: NopRepr,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NodeRepr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nop` is never read
[INFO] [stdout]    --> src/forest/compact_bocage/node.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 205 | struct NopRepr {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] 206 |     nop: u16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NopRepr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `prediction_matrix` is never used
[INFO] [stdout]    --> src/grammar.rs:450:22
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl InternalGrammar {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 450 |     pub(in super) fn prediction_matrix(&self) -> &BitMatrix {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn trace(&self) -> Trace<F::NodeRef> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn trace(&self) -> Trace<'_, F::NodeRef> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:173:19
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn events(&self) -> Events<F::NodeRef> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn events(&self) -> Events<'_, F::NodeRef> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:188:30
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn minimal_distances(&self) -> Distances<F::NodeRef> {
[INFO] [stdout]     |                              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn minimal_distances(&self) -> Distances<'_, F::NodeRef> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:194:31
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn expected_terminals(&self) -> ExpectedTerminals<F::NodeRef> {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn expected_terminals(&self) -> ExpectedTerminals<'_, F::NodeRef> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/forest/bocage/traverse.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn traverse(&self) -> Traverse<G> {
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn traverse(&self) -> Traverse<'_, G> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/forest/bocage/traverse.rs:161:53
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn next_product<'p>(&'p mut self) -> Option<ProductHandle> {
[INFO] [stdout]     |                              --                     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'p`
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn next_product<'p>(&'p mut self) -> Option<ProductHandle<'p>> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/forest/compact_bocage/node.rs:55:29
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub(crate) fn iter_from(&self, handle: NodeHandle) -> Iter {
[INFO] [stdout]    |                             ^^^^^                         ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub(crate) fn iter_from(&self, handle: NodeHandle) -> Iter<'_> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/forest/compact_bocage/traverse.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn traverse(&self) -> Traverse<G> {
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn traverse(&self) -> Traverse<'_, G> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/forest/compact_bocage/traverse.rs:171:53
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn next_product<'p>(&'p mut self) -> Option<ProductHandle> {
[INFO] [stdout]     |                              --                     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'p`
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn next_product<'p>(&'p mut self) -> Option<ProductHandle<'p>> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/recognizer.rs:405:30
[INFO] [stdout]     |
[INFO] [stdout] 405 |     pub fn predicted_symbols(&self) -> PredictedSymbols {
[INFO] [stdout]     |                              ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 405 |     pub fn predicted_symbols(&self) -> PredictedSymbols<'_> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/recognizer.rs:414:25
[INFO] [stdout]     |
[INFO] [stdout] 414 |     pub fn medial_items(&self) -> MedialItems<F::NodeRef> {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 414 |     pub fn medial_items(&self) -> MedialItems<'_, F::NodeRef> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/memory_use.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             0..=1000 => 16,
[INFO] [stdout]    |             -------- this range overlaps on `1000_usize`...
[INFO] [stdout] 40 |             1000..=500_000 => 32,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout]    = note: `#[warn(overlapping_range_endpoints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/memory_use.rs:41:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             1000..=500_000 => 32,
[INFO] [stdout]    |             -------------- this range overlaps on `500000_usize`...
[INFO] [stdout] 41 |             500_000..=2_000_000 => 64,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/memory_use.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |             0..=200 => 16,
[INFO] [stdout]    |             ------- this range overlaps on `200_usize`...
[INFO] [stdout] 81 |             200..=10_000 => 32,
[INFO] [stdout]    |             ^^^^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]   --> src/memory_use.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |             200..=10_000 => 32,
[INFO] [stdout]    |             ------------ this range overlaps on `10000_usize`...
[INFO] [stdout] 82 |             10_000..=100_000 => 64,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]    |
[INFO] [stdout]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]    --> src/memory_use.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |             0..=1000 => 16,
[INFO] [stdout]     |             -------- this range overlaps on `1000_usize`...
[INFO] [stdout] 120 |             1000..=500_000 => 32,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]     |
[INFO] [stdout]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]    --> src/memory_use.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |             1000..=500_000 => 32,
[INFO] [stdout]     |             -------------- this range overlaps on `500000_usize`...
[INFO] [stdout] 121 |             500_000..=2_000_000 => 64,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]     |
[INFO] [stdout]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]    --> src/memory_use.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |             0..=1000 => 8,
[INFO] [stdout]     |             -------- this range overlaps on `1000_usize`...
[INFO] [stdout] 214 |             1000..=100_000 => 32,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]     |
[INFO] [stdout]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]    --> src/memory_use.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |             0..=1000 => 8,
[INFO] [stdout]     |             -------- this range overlaps on `1000_usize`...
[INFO] [stdout] 234 |             1000..=100_000 => 32,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ ... with this range
[INFO] [stdout]     |
[INFO] [stdout]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nop` is never read
[INFO] [stdout]    --> src/forest/compact_bocage/node.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | union NodeRepr {
[INFO] [stdout]     |       -------- field in this union
[INFO] [stdout] ...
[INFO] [stdout] 143 |     nop: NopRepr,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NodeRepr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nop` is never read
[INFO] [stdout]    --> src/forest/compact_bocage/node.rs:206:5
[INFO] [stdout]     |
[INFO] [stdout] 205 | struct NopRepr {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] 206 |     nop: u16,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NopRepr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `prediction_matrix` is never used
[INFO] [stdout]    --> src/grammar.rs:450:22
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl InternalGrammar {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 450 |     pub(in super) fn prediction_matrix(&self) -> &BitMatrix {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:158:18
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn trace(&self) -> Trace<F::NodeRef> {
[INFO] [stdout]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn trace(&self) -> Trace<'_, F::NodeRef> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:173:19
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn events(&self) -> Events<F::NodeRef> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn events(&self) -> Events<'_, F::NodeRef> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:188:30
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn minimal_distances(&self) -> Distances<F::NodeRef> {
[INFO] [stdout]     |                              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn minimal_distances(&self) -> Distances<'_, F::NodeRef> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/events.rs:194:31
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn expected_terminals(&self) -> ExpectedTerminals<F::NodeRef> {
[INFO] [stdout]     |                               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub fn expected_terminals(&self) -> ExpectedTerminals<'_, F::NodeRef> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/forest/bocage/traverse.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn traverse(&self) -> Traverse<G> {
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn traverse(&self) -> Traverse<'_, G> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/forest/bocage/traverse.rs:161:53
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn next_product<'p>(&'p mut self) -> Option<ProductHandle> {
[INFO] [stdout]     |                              --                     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'p`
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn next_product<'p>(&'p mut self) -> Option<ProductHandle<'p>> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/forest/compact_bocage/node.rs:55:29
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub(crate) fn iter_from(&self, handle: NodeHandle) -> Iter {
[INFO] [stdout]    |                             ^^^^^                         ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub(crate) fn iter_from(&self, handle: NodeHandle) -> Iter<'_> {
[INFO] [stdout]    |                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/forest/compact_bocage/traverse.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn traverse(&self) -> Traverse<G> {
[INFO] [stdout]    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn traverse(&self) -> Traverse<'_, G> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/forest/compact_bocage/traverse.rs:171:53
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn next_product<'p>(&'p mut self) -> Option<ProductHandle> {
[INFO] [stdout]     |                              --                     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'p`
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn next_product<'p>(&'p mut self) -> Option<ProductHandle<'p>> {
[INFO] [stdout]     |                                                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/recognizer.rs:405:30
[INFO] [stdout]     |
[INFO] [stdout] 405 |     pub fn predicted_symbols(&self) -> PredictedSymbols {
[INFO] [stdout]     |                              ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 405 |     pub fn predicted_symbols(&self) -> PredictedSymbols<'_> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/recognizer.rs:414:25
[INFO] [stdout]     |
[INFO] [stdout] 414 |     pub fn medial_items(&self) -> MedialItems<F::NodeRef> {
[INFO] [stdout]     |                         ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 414 |     pub fn medial_items(&self) -> MedialItems<'_, F::NodeRef> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::simple_compact_evaluator::SimpleCompactEvaluator`
[INFO] [stdout]  --> benches/../tests/helpers/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use self::simple_compact_evaluator::SimpleCompactEvaluator;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::simple_evaluator::SimpleEvaluator`
[INFO] [stdout]   --> benches/../tests/helpers/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use self::simple_evaluator::SimpleEvaluator;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::simple_compact_evaluator::SimpleCompactEvaluator`
[INFO] [stdout]  --> tests/helpers/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use self::simple_compact_evaluator::SimpleCompactEvaluator;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::simple_compact_evaluator::SimpleCompactEvaluator`
[INFO] [stdout]  --> tests/helpers/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use self::simple_compact_evaluator::SimpleCompactEvaluator;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::simple_evaluator::SimpleEvaluator`
[INFO] [stdout]   --> tests/helpers/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use self::simple_evaluator::SimpleEvaluator;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::simple_compact_evaluator::SimpleCompactEvaluator`
[INFO] [stdout]  --> benches/../tests/helpers/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use self::simple_compact_evaluator::SimpleCompactEvaluator;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `earley_omnitool::memory_use::MemoryUse`
[INFO] [stdout]   --> benches/benches.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use earley_omnitool::memory_use::MemoryUse;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `serde`
[INFO] [stdout]  --> tests/test_serde.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![cfg(feature = "serde")]
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::simple_compact_evaluator::SimpleCompactEvaluator`
[INFO] [stdout]  --> benches/../tests/helpers/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use self::simple_compact_evaluator::SimpleCompactEvaluator;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::simple_evaluator::SimpleEvaluator`
[INFO] [stdout]   --> benches/../tests/helpers/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use self::simple_evaluator::SimpleEvaluator;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cfg::sequence::Separator::Proper`
[INFO] [stdout]   --> benches/bench_c.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use cfg::sequence::Separator::Proper;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NullForest`
[INFO] [stdout]   --> benches/bench_c.rs:15:39
[INFO] [stdout]    |
[INFO] [stdout] 15 | use earley_omnitool::forest::{Bocage, NullForest};
[INFO] [stdout]    |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::simple_compact_evaluator::SimpleCompactEvaluator`
[INFO] [stdout]  --> tests/helpers/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use self::simple_compact_evaluator::SimpleCompactEvaluator;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::simple_compact_evaluator::SimpleCompactEvaluator`
[INFO] [stdout]  --> tests/helpers/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use self::simple_compact_evaluator::SimpleCompactEvaluator;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::simple_evaluator::SimpleEvaluator`
[INFO] [stdout]   --> tests/helpers/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use self::simple_evaluator::SimpleEvaluator;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `term`
[INFO] [stdout]   --> benches/bench_c.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         term, identifier, signed, const_, inline, auto, break_, case, char_, continue_, default,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i_str`
[INFO] [stdout]    --> benches/bench_c.rs:386:24
[INFO] [stdout]     |
[INFO] [stdout] 386 |             Identifier(i_str) => Some(identifier),
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_i_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num`
[INFO] [stdout]    --> benches/bench_c.rs:387:28
[INFO] [stdout]     |
[INFO] [stdout] 387 |             NumericLiteral(num) => Some(constant),
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> benches/bench_c.rs:388:27
[INFO] [stdout]     |
[INFO] [stdout] 388 |             StringLiteral(s) => Some(string_literal),
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `term`
[INFO] [stdout]    --> benches/bench_c.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         term, identifier, signed, const_, inline, auto, break_, case, char_, continue_, default,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_term`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auto`
[INFO] [stdout]    --> benches/bench_c.rs:347:51
[INFO] [stdout]     |
[INFO] [stdout] 347 |         term, identifier, signed, const_, inline, auto, break_, case, char_, continue_, default,
[INFO] [stdout]     |                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_auto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SYM_NAMES` is never used
[INFO] [stdout]   --> benches/bench_c.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const SYM_NAMES: &'static [&'static str] = &[
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `AND_expression` should have a snake case name
[INFO] [stdout]   --> benches/bench_c.rs:74:53
[INFO] [stdout]    |
[INFO] [stdout] 74 |         relational_expression, equality_expression, AND_expression, exclusive_OR_expression,
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `and_expression`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `exclusive_OR_expression` should have a snake case name
[INFO] [stdout]   --> benches/bench_c.rs:74:69
[INFO] [stdout]    |
[INFO] [stdout] 74 |         relational_expression, equality_expression, AND_expression, exclusive_OR_expression,
[INFO] [stdout]    |                                                                     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `exclusive_or_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `inclusive_OR_expression` should have a snake case name
[INFO] [stdout]   --> benches/bench_c.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         inclusive_OR_expression, logical_AND_expression, logical_OR_expression,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `inclusive_or_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `logical_AND_expression` should have a snake case name
[INFO] [stdout]   --> benches/bench_c.rs:75:34
[INFO] [stdout]    |
[INFO] [stdout] 75 |         inclusive_OR_expression, logical_AND_expression, logical_OR_expression,
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `logical_and_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `logical_OR_expression` should have a snake case name
[INFO] [stdout]   --> benches/bench_c.rs:75:58
[INFO] [stdout]    |
[INFO] [stdout] 75 |         inclusive_OR_expression, logical_AND_expression, logical_OR_expression,
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `logical_or_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.62s
[INFO] running `Command { std: "docker" "inspect" "a0567d098462496c21819c9ddb83ca40ac4e85fd5bd71a2a8814dc54891cde22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a0567d098462496c21819c9ddb83ca40ac4e85fd5bd71a2a8814dc54891cde22", kill_on_drop: false }`
[INFO] [stdout] a0567d098462496c21819c9ddb83ca40ac4e85fd5bd71a2a8814dc54891cde22
