[INFO] fetching crate perplex 0.4.1...
[INFO] building perplex-0.4.1 against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] extracting crate perplex 0.4.1 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate perplex 0.4.1
[INFO] finished tweaking crates.io crate perplex 0.4.1
[INFO] tweaked toml for crates.io crate perplex 0.4.1 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate perplex 0.4.1 on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 61 packages to latest compatible versions
[INFO] [stderr]       Adding atty v0.2.11 (available: v0.2.14)
[INFO] [stderr]       Adding bit-set v0.5.3 (available: v0.8.0)
[INFO] [stderr]       Adding clap v2.34.0 (available: v4.5.48)
[INFO] [stderr]       Adding indexmap v1.9.3 (available: v2.11.4)
[INFO] [stderr]       Adding memmap v0.6.2 (available: v0.7.0)
[INFO] [stderr]       Adding stderrlog v0.4.3 (available: v0.6.0)
[INFO] [stderr]       Adding thread_local v0.3.4 (available: v0.3.6)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "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] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded termion v1.5.6
[INFO] [stderr]   Downloaded memmap v0.6.2
[INFO] [stderr]   Downloaded stderrlog v0.4.3
[INFO] [stderr]   Downloaded atty v0.2.11
[INFO] [stderr]   Downloaded unreachable v1.0.0
[INFO] [stderr]   Downloaded perplex-runtime v0.1.1
[INFO] [stderr]   Downloaded numtoa v0.1.0
[INFO] [stderr]   Downloaded thread_local v0.3.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9285356651d1608ce188b49fa3c281d3427728be33f72e99249ba257a6f90a1f
[INFO] running `Command { std: "docker" "start" "-a" "9285356651d1608ce188b49fa3c281d3427728be33f72e99249ba257a6f90a1f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9285356651d1608ce188b49fa3c281d3427728be33f72e99249ba257a6f90a1f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9285356651d1608ce188b49fa3c281d3427728be33f72e99249ba257a6f90a1f", kill_on_drop: false }`
[INFO] [stdout] 9285356651d1608ce188b49fa3c281d3427728be33f72e99249ba257a6f90a1f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 42a2480660d3eb2472b9f84ca0e1ed9f0041480fbab958fddec73de403f3122e
[INFO] running `Command { std: "docker" "start" "-a" "42a2480660d3eb2472b9f84ca0e1ed9f0041480fbab958fddec73de403f3122e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling perplex-runtime v0.1.1
[INFO] [stderr]    Compiling atty v0.2.11
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling memmap v0.6.2
[INFO] [stderr]    Compiling unreachable v1.0.0
[INFO] [stderr]    Compiling thread_local v0.3.4
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling stderrlog v0.4.3
[INFO] [stderr]    Compiling perplex v0.4.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backend.rs:176:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |         let mut ta: Vec<_> = state
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/honalee.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |             let mut item_set = &mut done_list[index];
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `origin` is never read
[INFO] [stdout]    --> src/glr.rs:598:5
[INFO] [stdout]     |
[INFO] [stdout] 597 | pub struct ConflictArc {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 598 |     origin: ItemSetId,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConflictArc` has a derived impl for the trait `Debug`, 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: fields `rank` and `reconverged` are never read
[INFO] [stdout]    --> src/glr.rs:636:5
[INFO] [stdout]     |
[INFO] [stdout] 635 | pub struct ConflictNode {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 636 |     rank: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 640 |     reconverged: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConflictNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grammar.rs:180:18
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn rules(&self) -> RulesIter {
[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] 180 |     pub fn rules(&self) -> RulesIter<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grammar.rs:185:34
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn rules_for_nonterminal(&self, id: NonterminalId) -> RuleIdsIter {
[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] 185 |     pub fn rules_for_nonterminal(&self, id: NonterminalId) -> RuleIdsIter<'_> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/item_set.rs:183:20
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub fn actions(&self) -> Actions {
[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] 183 |     pub fn actions(&self) -> Actions<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/item_set.rs:188:24
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn actions_mut(&mut self) -> ActionsMut {
[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 actions_mut(&mut self) -> ActionsMut<'_> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/machine.rs:93:19
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn states(&self) -> States {
[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] 93 |     pub fn states(&self) -> States<'_> {
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/machine.rs:119:20
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn actions(&self) -> Actions {
[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] 119 |     pub fn actions(&self) -> Actions<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.71s
[INFO] running `Command { std: "docker" "inspect" "42a2480660d3eb2472b9f84ca0e1ed9f0041480fbab958fddec73de403f3122e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "42a2480660d3eb2472b9f84ca0e1ed9f0041480fbab958fddec73de403f3122e", kill_on_drop: false }`
[INFO] [stdout] 42a2480660d3eb2472b9f84ca0e1ed9f0041480fbab958fddec73de403f3122e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0cb76af691952478cc1c257380e661b6f3bb05dc5a103f483e3b947b5061f69e
[INFO] running `Command { std: "docker" "start" "-a" "0cb76af691952478cc1c257380e661b6f3bb05dc5a103f483e3b947b5061f69e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backend.rs:176:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |         let mut ta: Vec<_> = state
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/honalee.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |             let mut item_set = &mut done_list[index];
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `origin` is never read
[INFO] [stdout]    --> src/glr.rs:598:5
[INFO] [stdout]     |
[INFO] [stdout] 597 | pub struct ConflictArc {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 598 |     origin: ItemSetId,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConflictArc` has a derived impl for the trait `Debug`, 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: fields `rank` and `reconverged` are never read
[INFO] [stdout]    --> src/glr.rs:636:5
[INFO] [stdout]     |
[INFO] [stdout] 635 | pub struct ConflictNode {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 636 |     rank: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 640 |     reconverged: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConflictNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grammar.rs:180:18
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn rules(&self) -> RulesIter {
[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] 180 |     pub fn rules(&self) -> RulesIter<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grammar.rs:185:34
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn rules_for_nonterminal(&self, id: NonterminalId) -> RuleIdsIter {
[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] 185 |     pub fn rules_for_nonterminal(&self, id: NonterminalId) -> RuleIdsIter<'_> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/item_set.rs:183:20
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub fn actions(&self) -> Actions {
[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] 183 |     pub fn actions(&self) -> Actions<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/item_set.rs:188:24
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn actions_mut(&mut self) -> ActionsMut {
[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 actions_mut(&mut self) -> ActionsMut<'_> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/machine.rs:93:19
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn states(&self) -> States {
[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] 93 |     pub fn states(&self) -> States<'_> {
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/machine.rs:119:20
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn actions(&self) -> Actions {
[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] 119 |     pub fn actions(&self) -> Actions<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling perplex v0.4.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> tests/tribble1.rs:200:35
[INFO] [stdout]     |
[INFO] [stdout] 200 |     let res = IterParser::new(seq.into_iter().cloned()).run();
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 200 -     let res = IterParser::new(seq.into_iter().cloned()).run();
[INFO] [stdout] 200 +     let res = IterParser::new(seq.iter().cloned()).run();
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 200 -     let res = IterParser::new(seq.into_iter().cloned()).run();
[INFO] [stdout] 200 +     let res = IterParser::new(IntoIterator::into_iter(seq).cloned()).run();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> tests/tribble1.rs:209:35
[INFO] [stdout]     |
[INFO] [stdout] 209 |     let res = IterParser::new(seq.into_iter().cloned()).run();
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 209 -     let res = IterParser::new(seq.into_iter().cloned()).run();
[INFO] [stdout] 209 +     let res = IterParser::new(seq.iter().cloned()).run();
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 209 -     let res = IterParser::new(seq.into_iter().cloned()).run();
[INFO] [stdout] 209 +     let res = IterParser::new(IntoIterator::into_iter(seq).cloned()).run();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> tests/tribble1.rs:218:35
[INFO] [stdout]     |
[INFO] [stdout] 218 |     let res = IterParser::new(seq.into_iter().cloned()).run();
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 218 -     let res = IterParser::new(seq.into_iter().cloned()).run();
[INFO] [stdout] 218 +     let res = IterParser::new(seq.iter().cloned()).run();
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 218 -     let res = IterParser::new(seq.into_iter().cloned()).run();
[INFO] [stdout] 218 +     let res = IterParser::new(IntoIterator::into_iter(seq).cloned()).run();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> tests/tribble1.rs:227:35
[INFO] [stdout]     |
[INFO] [stdout] 227 |     let res = IterParser::new(seq.into_iter().cloned()).run();
[INFO] [stdout]     |                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 227 -     let res = IterParser::new(seq.into_iter().cloned()).run();
[INFO] [stdout] 227 +     let res = IterParser::new(seq.iter().cloned()).run();
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 227 -     let res = IterParser::new(seq.into_iter().cloned()).run();
[INFO] [stdout] 227 +     let res = IterParser::new(IntoIterator::into_iter(seq).cloned()).run();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/backend.rs:176:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |         let mut ta: Vec<_> = state
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/honalee.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |             let mut item_set = &mut done_list[index];
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `origin` is never read
[INFO] [stdout]    --> src/glr.rs:598:5
[INFO] [stdout]     |
[INFO] [stdout] 597 | pub struct ConflictArc {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 598 |     origin: ItemSetId,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConflictArc` has a derived impl for the trait `Debug`, 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: fields `rank` and `reconverged` are never read
[INFO] [stdout]    --> src/glr.rs:636:5
[INFO] [stdout]     |
[INFO] [stdout] 635 | pub struct ConflictNode {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 636 |     rank: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 640 |     reconverged: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConflictNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grammar.rs:180:18
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub fn rules(&self) -> RulesIter {
[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] 180 |     pub fn rules(&self) -> RulesIter<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/grammar.rs:185:34
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn rules_for_nonterminal(&self, id: NonterminalId) -> RuleIdsIter {
[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] 185 |     pub fn rules_for_nonterminal(&self, id: NonterminalId) -> RuleIdsIter<'_> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/item_set.rs:183:20
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub fn actions(&self) -> Actions {
[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] 183 |     pub fn actions(&self) -> Actions<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/item_set.rs:188:24
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn actions_mut(&mut self) -> ActionsMut {
[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 actions_mut(&mut self) -> ActionsMut<'_> {
[INFO] [stdout]     |                                                ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/machine.rs:93:19
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn states(&self) -> States {
[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] 93 |     pub fn states(&self) -> States<'_> {
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/machine.rs:119:20
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn actions(&self) -> Actions {
[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] 119 |     pub fn actions(&self) -> Actions<'_> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/parser.rs:329:34
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let res = parse_iter(seq.into_iter().cloned());
[INFO] [stdout]     |                                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 329 -         let res = parse_iter(seq.into_iter().cloned());
[INFO] [stdout] 329 +         let res = parse_iter(seq.iter().cloned());
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 329 -         let res = parse_iter(seq.into_iter().cloned());
[INFO] [stdout] 329 +         let res = parse_iter(IntoIterator::into_iter(seq).cloned());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.64s
[INFO] running `Command { std: "docker" "inspect" "0cb76af691952478cc1c257380e661b6f3bb05dc5a103f483e3b947b5061f69e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0cb76af691952478cc1c257380e661b6f3bb05dc5a103f483e3b947b5061f69e", kill_on_drop: false }`
[INFO] [stdout] 0cb76af691952478cc1c257380e661b6f3bb05dc5a103f483e3b947b5061f69e
