[INFO] fetching crate earley-omnitool 0.0.6...
[INFO] testing earley-omnitool-0.0.6 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate earley-omnitool 0.0.6 into /workspace/builds/worker-1-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-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate earley-omnitool 0.0.6 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "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" "+beta-2025-09-21" "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.0)
[INFO] [stderr]       Adding env_logger v0.7.1 (available: v0.11.8)
[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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f1ea882306171d091843f781d07202711ca27f2a65e54b58d5bc4f4649d01116
[INFO] running `Command { std: "docker" "start" "-a" "f1ea882306171d091843f781d07202711ca27f2a65e54b58d5bc4f4649d01116", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f1ea882306171d091843f781d07202711ca27f2a65e54b58d5bc4f4649d01116", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1ea882306171d091843f781d07202711ca27f2a65e54b58d5bc4f4649d01116", kill_on_drop: false }`
[INFO] [stdout] f1ea882306171d091843f781d07202711ca27f2a65e54b58d5bc4f4649d01116
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2eb662d2a60e082159d34d0d08e52e1490c3270b97031b6c4bb6fc3ef0385617
[INFO] running `Command { std: "docker" "start" "-a" "2eb662d2a60e082159d34d0d08e52e1490c3270b97031b6c4bb6fc3ef0385617", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling ref_slice v1.2.1
[INFO] [stderr]    Compiling bit-vec-omnitool v0.7.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling num v0.2.1
[INFO] [stderr]    Compiling regex-automata v0.4.11
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling regex v1.11.3
[INFO] [stderr]    Compiling env_logger v0.7.1
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling optional v0.5.0
[INFO] [stderr]    Compiling bit-matrix v0.6.1
[INFO] [stderr]    Compiling cfg v0.6.2
[INFO] [stderr]    Compiling 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: 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.55s
[INFO] running `Command { std: "docker" "inspect" "2eb662d2a60e082159d34d0d08e52e1490c3270b97031b6c4bb6fc3ef0385617", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2eb662d2a60e082159d34d0d08e52e1490c3270b97031b6c4bb6fc3ef0385617", kill_on_drop: false }`
[INFO] [stdout] 2eb662d2a60e082159d34d0d08e52e1490c3270b97031b6c4bb6fc3ef0385617
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7f6e663fb39c0326b3920607530bb98334a462025d0be4da09b000c21e2c5416
[INFO] running `Command { std: "docker" "start" "-a" "7f6e663fb39c0326b3920607530bb98334a462025d0be4da09b000c21e2c5416", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling logos-codegen v0.13.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling logos-derive v0.13.0
[INFO] [stderr]    Compiling logos v0.13.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling optional v0.5.0
[INFO] [stderr]    Compiling internship v0.6.0
[INFO] [stderr]    Compiling c_lexer_logos v0.1.1
[INFO] [stderr]    Compiling bit-matrix v0.6.1
[INFO] [stderr]    Compiling cfg v0.6.2
[INFO] [stderr]    Compiling 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: 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: 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: 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: 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]  --> 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]  --> 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: 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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 17.24s
[INFO] running `Command { std: "docker" "inspect" "7f6e663fb39c0326b3920607530bb98334a462025d0be4da09b000c21e2c5416", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f6e663fb39c0326b3920607530bb98334a462025d0be4da09b000c21e2c5416", kill_on_drop: false }`
[INFO] [stdout] 7f6e663fb39c0326b3920607530bb98334a462025d0be4da09b000c21e2c5416
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ea018921f9241f9bf63f5c603b90a5445997e7dbba371e801b8c1a30d8e54619
[INFO] running `Command { std: "docker" "start" "-a" "ea018921f9241f9bf63f5c603b90a5445997e7dbba371e801b8c1a30d8e54619", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]  --> src/lib.rs:1:13
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![cfg_attr(feature = "cargo-clippy", allow(new_without_default_derive))]
[INFO] [stderr]   |             ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]   |
[INFO] [stderr]   = note: no expected values for `feature`
[INFO] [stderr]   = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stderr]   --> src/binary_heap.rs:15:13
[INFO] [stderr]    |
[INFO] [stderr] 15 | #![cfg_attr(feature = "cargo-clippy", allow(nonminimal_bool))]
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]    |
[INFO] [stderr]    = note: no expected values for `feature`
[INFO] [stderr]    = help: consider adding `cargo-clippy` as a feature in `Cargo.toml`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]   --> src/grammar.rs:72:5
[INFO] [stderr]    |
[INFO] [stderr] 72 | use std::convert::TryInto;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] 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] [stderr]   --> src/forest/bocage/mod.rs:10:16
[INFO] [stderr]    |
[INFO] [stderr] 10 | use ref_slice::ref_slice;
[INFO] [stderr]    |                ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] 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] [stderr]    --> src/forest/bocage/mod.rs:113:22
[INFO] [stderr]     |
[INFO] [stderr] 113 |                 _ => ref_slice(graph.get_unchecked(node.usize())),
[INFO] [stderr]     |                      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] 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] [stderr]  --> src/forest/bocage/traverse.rs:6:16
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ref_slice::ref_slice;
[INFO] [stderr]   |                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] 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] [stderr]   --> src/forest/bocage/traverse.rs:58:39
[INFO] [stderr]    |
[INFO] [stderr] 58 | ...                   products: ref_slice(node).iter(),
[INFO] [stderr]    |                                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]   --> src/memory_use.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 39 |             0..=1000 => 16,
[INFO] [stderr]    |             -------- this range overlaps on `1000_usize`...
[INFO] [stderr] 40 |             1000..=500_000 => 32,
[INFO] [stderr]    |             ^^^^^^^^^^^^^^ ... with this range
[INFO] [stderr]    |
[INFO] [stderr]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr]    = note: `#[warn(overlapping_range_endpoints)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]   --> src/memory_use.rs:41:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |             1000..=500_000 => 32,
[INFO] [stderr]    |             -------------- this range overlaps on `500000_usize`...
[INFO] [stderr] 41 |             500_000..=2_000_000 => 64,
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^ ... with this range
[INFO] [stderr]    |
[INFO] [stderr]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]   --> src/memory_use.rs:81:13
[INFO] [stderr]    |
[INFO] [stderr] 80 |             0..=200 => 16,
[INFO] [stderr]    |             ------- this range overlaps on `200_usize`...
[INFO] [stderr] 81 |             200..=10_000 => 32,
[INFO] [stderr]    |             ^^^^^^^^^^^^ ... with this range
[INFO] [stderr]    |
[INFO] [stderr]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]   --> src/memory_use.rs:82:13
[INFO] [stderr]    |
[INFO] [stderr] 81 |             200..=10_000 => 32,
[INFO] [stderr]    |             ------------ this range overlaps on `10000_usize`...
[INFO] [stderr] 82 |             10_000..=100_000 => 64,
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^ ... with this range
[INFO] [stderr]    |
[INFO] [stderr]    = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]    --> src/memory_use.rs:120:13
[INFO] [stderr]     |
[INFO] [stderr] 119 |             0..=1000 => 16,
[INFO] [stderr]     |             -------- this range overlaps on `1000_usize`...
[INFO] [stderr] 120 |             1000..=500_000 => 32,
[INFO] [stderr]     |             ^^^^^^^^^^^^^^ ... with this range
[INFO] [stderr]     |
[INFO] [stderr]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]    --> src/memory_use.rs:121:13
[INFO] [stderr]     |
[INFO] [stderr] 120 |             1000..=500_000 => 32,
[INFO] [stderr]     |             -------------- this range overlaps on `500000_usize`...
[INFO] [stderr] 121 |             500_000..=2_000_000 => 64,
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^ ... with this range
[INFO] [stderr]     |
[INFO] [stderr]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]    --> src/memory_use.rs:214:13
[INFO] [stderr]     |
[INFO] [stderr] 213 |             0..=1000 => 8,
[INFO] [stderr]     |             -------- this range overlaps on `1000_usize`...
[INFO] [stderr] 214 |             1000..=100_000 => 32,
[INFO] [stderr]     |             ^^^^^^^^^^^^^^ ... with this range
[INFO] [stderr]     |
[INFO] [stderr]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns overlap on their endpoints
[INFO] [stderr]    --> src/memory_use.rs:234:13
[INFO] [stderr]     |
[INFO] [stderr] 233 |             0..=1000 => 8,
[INFO] [stderr]     |             -------- this range overlaps on `1000_usize`...
[INFO] [stderr] 234 |             1000..=100_000 => 32,
[INFO] [stderr]     |             ^^^^^^^^^^^^^^ ... with this range
[INFO] [stderr]     |
[INFO] [stderr]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stderr] 
[INFO] [stderr] warning: field `nop` is never read
[INFO] [stderr]    --> src/forest/compact_bocage/node.rs:143:5
[INFO] [stderr]     |
[INFO] [stderr] 132 | union NodeRepr {
[INFO] [stderr]     |       -------- field in this union
[INFO] [stderr] ...
[INFO] [stderr] 143 |     nop: NopRepr,
[INFO] [stderr]     |     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `NodeRepr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `nop` is never read
[INFO] [stderr]    --> src/forest/compact_bocage/node.rs:206:5
[INFO] [stderr]     |
[INFO] [stderr] 205 | struct NopRepr {
[INFO] [stderr]     |        ------- field in this struct
[INFO] [stderr] 206 |     nop: u16,
[INFO] [stderr]     |     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `NopRepr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `prediction_matrix` is never used
[INFO] [stderr]    --> src/grammar.rs:450:22
[INFO] [stderr]     |
[INFO] [stderr] 161 | impl InternalGrammar {
[INFO] [stderr]     | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 450 |     pub(in super) fn prediction_matrix(&self) -> &BitMatrix {
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/events.rs:158:18
[INFO] [stderr]     |
[INFO] [stderr] 158 |     pub fn trace(&self) -> Trace<F::NodeRef> {
[INFO] [stderr]     |                  ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                  |
[INFO] [stderr]     |                  the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 158 |     pub fn trace(&self) -> Trace<'_, F::NodeRef> {
[INFO] [stderr]     |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/events.rs:173:19
[INFO] [stderr]     |
[INFO] [stderr] 173 |     pub fn events(&self) -> Events<F::NodeRef> {
[INFO] [stderr]     |                   ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 173 |     pub fn events(&self) -> Events<'_, F::NodeRef> {
[INFO] [stderr]     |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/events.rs:188:30
[INFO] [stderr]     |
[INFO] [stderr] 188 |     pub fn minimal_distances(&self) -> Distances<F::NodeRef> {
[INFO] [stderr]     |                              ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 188 |     pub fn minimal_distances(&self) -> Distances<'_, F::NodeRef> {
[INFO] [stderr]     |                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/events.rs:194:31
[INFO] [stderr]     |
[INFO] [stderr] 194 |     pub fn expected_terminals(&self) -> ExpectedTerminals<F::NodeRef> {
[INFO] [stderr]     |                               ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 194 |     pub fn expected_terminals(&self) -> ExpectedTerminals<'_, F::NodeRef> {
[INFO] [stderr]     |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/forest/bocage/traverse.rs:18:21
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn traverse(&self) -> Traverse<G> {
[INFO] [stderr]    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn traverse(&self) -> Traverse<'_, G> {
[INFO] [stderr]    |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/forest/bocage/traverse.rs:161:53
[INFO] [stderr]     |
[INFO] [stderr] 161 |     pub fn next_product<'p>(&'p mut self) -> Option<ProductHandle> {
[INFO] [stderr]     |                              --                     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'p`
[INFO] [stderr]     |
[INFO] [stderr] 161 |     pub fn next_product<'p>(&'p mut self) -> Option<ProductHandle<'p>> {
[INFO] [stderr]     |                                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/forest/compact_bocage/node.rs:55:29
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub(crate) fn iter_from(&self, handle: NodeHandle) -> Iter {
[INFO] [stderr]    |                             ^^^^^                         ^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                             |
[INFO] [stderr]    |                             the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub(crate) fn iter_from(&self, handle: NodeHandle) -> Iter<'_> {
[INFO] [stderr]    |                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/forest/compact_bocage/traverse.rs:17:21
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub fn traverse(&self) -> Traverse<G> {
[INFO] [stderr]    |                     ^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub fn traverse(&self) -> Traverse<'_, G> {
[INFO] [stderr]    |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/forest/compact_bocage/traverse.rs:171:53
[INFO] [stderr]     |
[INFO] [stderr] 171 |     pub fn next_product<'p>(&'p mut self) -> Option<ProductHandle> {
[INFO] [stderr]     |                              --                     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              the lifetime is named here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'p`
[INFO] [stderr]     |
[INFO] [stderr] 171 |     pub fn next_product<'p>(&'p mut self) -> Option<ProductHandle<'p>> {
[INFO] [stderr]     |                                                                  ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/recognizer.rs:405:30
[INFO] [stderr]     |
[INFO] [stderr] 405 |     pub fn predicted_symbols(&self) -> PredictedSymbols {
[INFO] [stderr]     |                              ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 405 |     pub fn predicted_symbols(&self) -> PredictedSymbols<'_> {
[INFO] [stderr]     |                                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/recognizer.rs:414:25
[INFO] [stderr]     |
[INFO] [stderr] 414 |     pub fn medial_items(&self) -> MedialItems<F::NodeRef> {
[INFO] [stderr]     |                         ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 414 |     pub fn medial_items(&self) -> MedialItems<'_, F::NodeRef> {
[INFO] [stderr]     |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: `earley-omnitool` (lib) generated 29 warnings (run `cargo fix --lib -p earley-omnitool` to apply 12 suggestions)
[INFO] [stderr] warning: `earley-omnitool` (lib test) generated 29 warnings (29 duplicates)
[INFO] [stderr] warning: unused import: `self::simple_compact_evaluator::SimpleCompactEvaluator`
[INFO] [stderr]  --> tests/helpers/mod.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub use self::simple_compact_evaluator::SimpleCompactEvaluator;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self::simple_evaluator::SimpleEvaluator`
[INFO] [stderr]   --> tests/helpers/mod.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub use self::simple_evaluator::SimpleEvaluator;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `serde`
[INFO] [stderr]  --> tests/test_serde.rs:1:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![cfg(feature = "serde")]
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]   |
[INFO] [stderr]   = note: no expected values for `feature`
[INFO] [stderr]   = help: consider adding `serde` as a feature in `Cargo.toml`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `earley-omnitool` (test "test_c") generated 2 warnings (run `cargo fix --test "test_c"` to apply 2 suggestions)
[INFO] [stderr] warning: `earley-omnitool` (test "test_recognizer") generated 2 warnings (2 duplicates)
[INFO] [stderr] warning: `earley-omnitool` (test "tests") generated 1 warning (1 duplicate)
[INFO] [stderr] warning: `earley-omnitool` (test "test_sequence") generated 1 warning (1 duplicate)
[INFO] [stderr] warning: `earley-omnitool` (test "test_serde") generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/earley_omnitool-58767ed199b94a58)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test events::test_prediction_events ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]      Running tests/test_c.rs (/opt/rustwide/target/debug/deps/test_c-8e9e537ff3a090ca)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test helpers::cartesian_product::test_cartesian_product ... ok
[INFO] [stdout] test test_parse_c ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.91s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_nulling.rs (/opt/rustwide/target/debug/deps/test_nulling-ad24414a0fb28678)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test helpers::cartesian_product::test_cartesian_product ... ok
[INFO] [stdout] test test_trivial_grammar_compact ... ok
[INFO] [stdout] test test_grammar_with_nulling_intermediate_compact ... ok
[INFO] [stdout] test test_grammar_with_nulling_intermediate ... ok
[INFO] [stdout] test test_trivial_grammar ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_recognizer.rs (/opt/rustwide/target/debug/deps/test_recognizer-8b89f6aa781684c2)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test helpers::cartesian_product::test_cartesian_product ... ok
[INFO] [stdout] test test_recognize_nested ... ok
[INFO] [stdout] test test_recognize_reset ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_sequence.rs (/opt/rustwide/target/debug/deps/test_sequence-d51fc1a45fce13d3)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test helpers::cartesian_product::test_cartesian_product ... ok
[INFO] [stdout] test test_sequence ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_serde.rs (/opt/rustwide/target/debug/deps/test_serde-a49f0ad21374dfb0)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running tests/tests.rs (/opt/rustwide/target/debug/deps/tests-f0ca6e33498f2e3b)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_ambiguous_arithmetic ... ok
[INFO] [stdout] test test_precedenced_arith ... ok
[INFO] [stderr]    Doc-tests earley_omnitool
[INFO] [stdout] test helpers::cartesian_product::test_cartesian_product ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ea018921f9241f9bf63f5c603b90a5445997e7dbba371e801b8c1a30d8e54619", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea018921f9241f9bf63f5c603b90a5445997e7dbba371e801b8c1a30d8e54619", kill_on_drop: false }`
[INFO] [stdout] ea018921f9241f9bf63f5c603b90a5445997e7dbba371e801b8c1a30d8e54619
